Weblogic Console Customization

147
WEBLOGIC CONSOLE CUSTOMIZATION An introduction to customizing and extending the Weblogic Console 1

Transcript of Weblogic Console Customization

Page 1: Weblogic Console Customization

WEBLOGIC CONSOLE CUSTOMIZATION

An introduction to customizing and extending the Weblogic Console

1

bull The Future GroupndashTFG is a strong ICT entrepreneurs collective consisting of several partnerships The largest network of exclusively linked independent experts in the Netherlands Consists of 9 different collectives each with its own specific knowledge area

bull Peter van Nesndash Partner within TFG and focussed on Oracle technologies Main expertise on Oracle middleware (SOA IDM Weblogic FMW) and Java

2

ABOUT

bull Rebrandndash Match Weblogic Console to the Corporate Identity

bull Differentiatendash Dynamically adjust Look And Feel (LAF) to environment (DTAP)ndash Adjust Look And Feel to WL Role

bull Extending with new functionality

3

REASONS TO CUSTOMIZE

bull Extension pointndashLocation in Admin Console where content can be replaced or added

bull UI ControlndashHas a unique labelndashEach labeled UI Control is an Extension point

4

EXTENSION POINTS

bull Provided by WebLogic Portal frameworkndash Supports (limited) extension of Weblogic Consolendash No support for bull personalization (although we will see otherwise)bull interaction managementbull content managementbull etc

5

WEBLOGIC CONSOLE

bull Extensions are safebull Can be enableddisabled anytimendash Preferences gt Extensions

bull Are merged with consoleapp in-memory

6

WEBLOGIC CONSOLE

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

8

UI CONTROL HIERARCHY

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 2: Weblogic Console Customization

bull The Future GroupndashTFG is a strong ICT entrepreneurs collective consisting of several partnerships The largest network of exclusively linked independent experts in the Netherlands Consists of 9 different collectives each with its own specific knowledge area

bull Peter van Nesndash Partner within TFG and focussed on Oracle technologies Main expertise on Oracle middleware (SOA IDM Weblogic FMW) and Java

2

ABOUT

bull Rebrandndash Match Weblogic Console to the Corporate Identity

bull Differentiatendash Dynamically adjust Look And Feel (LAF) to environment (DTAP)ndash Adjust Look And Feel to WL Role

bull Extending with new functionality

3

REASONS TO CUSTOMIZE

bull Extension pointndashLocation in Admin Console where content can be replaced or added

bull UI ControlndashHas a unique labelndashEach labeled UI Control is an Extension point

4

EXTENSION POINTS

bull Provided by WebLogic Portal frameworkndash Supports (limited) extension of Weblogic Consolendash No support for bull personalization (although we will see otherwise)bull interaction managementbull content managementbull etc

5

WEBLOGIC CONSOLE

bull Extensions are safebull Can be enableddisabled anytimendash Preferences gt Extensions

bull Are merged with consoleapp in-memory

6

WEBLOGIC CONSOLE

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

8

UI CONTROL HIERARCHY

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 3: Weblogic Console Customization

bull Rebrandndash Match Weblogic Console to the Corporate Identity

bull Differentiatendash Dynamically adjust Look And Feel (LAF) to environment (DTAP)ndash Adjust Look And Feel to WL Role

bull Extending with new functionality

3

REASONS TO CUSTOMIZE

bull Extension pointndashLocation in Admin Console where content can be replaced or added

bull UI ControlndashHas a unique labelndashEach labeled UI Control is an Extension point

4

EXTENSION POINTS

bull Provided by WebLogic Portal frameworkndash Supports (limited) extension of Weblogic Consolendash No support for bull personalization (although we will see otherwise)bull interaction managementbull content managementbull etc

5

WEBLOGIC CONSOLE

bull Extensions are safebull Can be enableddisabled anytimendash Preferences gt Extensions

bull Are merged with consoleapp in-memory

6

WEBLOGIC CONSOLE

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

8

UI CONTROL HIERARCHY

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 4: Weblogic Console Customization

bull Extension pointndashLocation in Admin Console where content can be replaced or added

bull UI ControlndashHas a unique labelndashEach labeled UI Control is an Extension point

4

EXTENSION POINTS

bull Provided by WebLogic Portal frameworkndash Supports (limited) extension of Weblogic Consolendash No support for bull personalization (although we will see otherwise)bull interaction managementbull content managementbull etc

5

WEBLOGIC CONSOLE

bull Extensions are safebull Can be enableddisabled anytimendash Preferences gt Extensions

bull Are merged with consoleapp in-memory

6

WEBLOGIC CONSOLE

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

8

UI CONTROL HIERARCHY

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 5: Weblogic Console Customization

bull Provided by WebLogic Portal frameworkndash Supports (limited) extension of Weblogic Consolendash No support for bull personalization (although we will see otherwise)bull interaction managementbull content managementbull etc

5

WEBLOGIC CONSOLE

bull Extensions are safebull Can be enableddisabled anytimendash Preferences gt Extensions

bull Are merged with consoleapp in-memory

6

WEBLOGIC CONSOLE

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

8

UI CONTROL HIERARCHY

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 6: Weblogic Console Customization

bull Extensions are safebull Can be enableddisabled anytimendash Preferences gt Extensions

bull Are merged with consoleapp in-memory

6

WEBLOGIC CONSOLE

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

8

UI CONTROL HIERARCHY

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 7: Weblogic Console Customization

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

8

UI CONTROL HIERARCHY

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 8: Weblogic Console Customization

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

8

UI CONTROL HIERARCHY

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 9: Weblogic Console Customization

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

8

UI CONTROL HIERARCHY

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 10: Weblogic Console Customization

ndash Open Preferencesndash Tab extensionsndash Select Show

Definition Labels

SHOW UI CONTROL LABELS

7

EXTENSION POINTS

8

UI CONTROL HIERARCHY

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 11: Weblogic Console Customization

8

UI CONTROL HIERARCHY

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 12: Weblogic Console Customization

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 13: Weblogic Console Customization

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

79PT

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 14: Weblogic Console Customization

8

UI CONTROL HIERARCHYDESKTOP

ndash top level UI hierarchyDESKTOP

LOOK AND FEEL

ndash imagesndash CSSndash XML files

LOOK AND FEEL

BOOK

ndash pagesndash booksndash menu control

BOOK

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 15: Weblogic Console Customization

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 16: Weblogic Console Customization

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 17: Weblogic Console Customization

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

ndash layoutndash portletsndash books

PAGE

LAYOUT ndash placeholdersLAYOUT

PLACEHOLDER

ndash portletsndash books

PLACEHOLDER

79PT

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 18: Weblogic Console Customization

8

UI CONTROL HIERARCHYDESKTOP

LOOK AND FEEL BOOK

PAGE

LAYOUT

PLACEHOLDER

79PT

PORTLET

ndash ContentPORTLET

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 19: Weblogic Console Customization

bull Start with laftemplatezipndash located at $wlhomeserverlibconsole-exttemplatesndash Specific for a Weblogic versionndash Initial set of Look and Feel filesndash Extract to working directory

bull Create netuix-extensionxmlndash Copy to WEB-INF folderndash Modify netuix-extensionxmlndash Oracle published version is incorrect

9

BUILDING A NEW LOOK AND FEEL

css errors framework images javascript layouts login WEB-INF

LAFTEMPLATE

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 20: Weblogic Console Customization

bull netuix-extensionxmlbull Modify provider-info elementsbull titlebull versionbull descriptionbull authorbull support-url

bull All optional not influencing functionality

10

BUILDING A NEW LOOK AND FEEL

ltprovider-infogt lttitlegtReddipped 11g LAFlttitlegt ltversiongt10ltversiongt ltdescriptiongtA customized look and feel for WLS 11g Weblogic Consoleltdescriptiongt ltauthorgtPeter van Nesltauthorgt ltsupport-urlgthttpwwwreddippedcomltsupport-urlgt ltprovider-infogt

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 21: Weblogic Console Customization

bull netuix-extensionxmlbull Modify desktop-extension elementsbull attribute title skin and attributebull value same as extension name and war-file

bull attribute definitionLabel and markupNamebull Any value not used

11

BUILDING A NEW LOOK AND FEEL

ltdesktop-extensiongt ltlook-and-feel-content title=MyFirstLAF definitionLabel=MyFirstLAF markupName=myLookAndFeel skin=MyFirstLAF skin-path=frameworkskins skeleton=MyFirstLAF skeleton-path=frameworkskeletons default-window-icon=window-icongif default-window-icon-path=imagesgt ltdesktop-extensiongt

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 22: Weblogic Console Customization

12

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Create tmp folderbull Copy from $wl_homeserverlibconsoleapp

webappbull jar tld jsp files and webxml bull Keep directory structure from laf working

directorybull Copy from working directorybull jsp files and java classes (optional)

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 23: Weblogic Console Customization

13

BUILDING A NEW LOOK AND FEEL

bull Setup classpath all jars inbull $wlhomeserverlibbull $wlhomeserverlibconsoleappAPP-INFlibbull $wlhomeserverlibconsoleappwebappWEB-

INFlib

errors framework features skeletons default wlsworkspace MyFirstLAF layouts login WEB-INF lib

JSP COMPILE DIR

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 24: Weblogic Console Customization

14

BUILDING A NEW LOOK AND FEEL

bull Compile jsp filesbull Execute wlappcbull wlappc source=tmpdir

keepgenerated=true classPath=ldquoclasspathrdquobull Copy compiled classes to laf working directory

bull Create Look And Feel WARbull jar -cf laf name laf working dir

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 25: Weblogic Console Customization

15

BUILDING A NEW LOOK AND FEEL

bull buildlafxmlbull Ant build file to build look and feel war-filebull Contains all necessary targets to build and compilebull targetsbull lafprojectinitializebull lafbuildbull lafdeploybull other supporting targets

errors framework features skeletons layouts login WEB-INF classes jsp_ext lib

JSP COMPILE DIR

css errors framework images javascript layouts login WEB-INF classes jsp_ext

LAF WORKING DIR

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 26: Weblogic Console Customization

bull Setup Weblogic Domainbull Configure Netbeansbull Setup Look And Feel Projectbull Customize Look And Feelbull Deploy and Test customization

16

LAB 1

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 27: Weblogic Console Customization

bull Learn from the codebull Dynamic HTMLndash Java Server Pages (JSP) ndash Java Standard Tag Library (JSTL)ndash Javascript

bull JD-GUI is your friend

17

MORE COMPLEX CUSTOMIZATIONS

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 28: Weblogic Console Customization

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 29: Weblogic Console Customization

18

MORE COMPLEX CUSTOMIZATIONS

bull Goal Dynamic LAF based on environmentbull Recognize environment based on domain namebull Dynamic color LAF login page borderbull Dynamic toolbar color

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 30: Weblogic Console Customization

bull How to get the domain name bull Explore MBeanUtilsndash Imported with import attribute in page directive of LoginFormjsp

ndash Find jar with lsquogrep -Ri ldquocombeaconsoleutilsMBeanUtilsrdquo rsquo

19

MORE COMPLEX CUSTOMIZATIONS

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 31: Weblogic Console Customization

bull Use JD GUI to decompile consolejarbull Expand MBeanUtils class to show all methods bull getDomainNamebull Returns String containing domain name

bull getDomainRuntimeMBeanServerConnectionbull Returns MBeanServerConnectionbull Enables you to access Runtime MBeans

bull MBean Referencebull Weblogic Server MBean Reference

20

MORE COMPLEX CUSTOMIZATIONS

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 32: Weblogic Console Customization

bull WL Server contains MBeans toconfigure monitor and manageWeblogic Server resourcesbull Attributesndash Set Read values

bull Operationsndash Execute actions

21

MBEANS AND JMX

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 33: Weblogic Console Customization

bull Organized intondash Runtime MBeansbull Info about runtime state of server and resourcebullNon persistent volatile

ndash Configuration Meansbull Representation of config xml files

bull Accessed through JMX (Java Management Extension)

22

MBEANS AND JMX

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 34: Weblogic Console Customization

bull Registered in an MBean serverndash Domain Runtime MBean ServerbullDomain-wide services

ndash Runtime MBean ServerbullService instance

23

MBEANS AND JMX

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 35: Weblogic Console Customization

bull Lab 2ndash Retrieve domain namendash Make login page border color dependent on domain namendash Domain name convention [DTAP]_domain namebullTest domain T_MyDomainbullProduction domain P_MyDomain

ndash Make toolbar color depend on domain namebull Lab 3ndash Using MBeans ndash List Managed Servers and state on login page

24

LAB 2 amp 3

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 36: Weblogic Console Customization

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

25

LAB 4

CALLBACK([ ldquoMSGrdquordquoSome customers in domain OBIEE_1 helliprdquo

]

LAB

bull Broadcastingmessages to admins

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 37: Weblogic Console Customization

BEEHIVE PAGE FLOWSTRUTS ACTION

26

ADDING PORTLETS

NETUIX-EXTENSIONXML

SOMEPORTLET

JAVA SERVER PAGE (JSP)

bull Extends consoleportalbull Adds Portlet to

desktop bull (sub)Tab to

ContentBook

Defines data to load Adds business and navigation logic

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 38: Weblogic Console Customization

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 39: Weblogic Console Customization

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 40: Weblogic Console Customization

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 41: Weblogic Console Customization

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 42: Weblogic Console Customization

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 43: Weblogic Console Customization

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 44: Weblogic Console Customization

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

PLACEHOLDER POSITION 0

PLACEHOLDER POSITION 1

PLACEHOLDER POSITION 2

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 45: Weblogic Console Customization

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=1 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 46: Weblogic Console Customization

27

ADDING PORTLETS TO THE DESKTOP

NETUIX-EXTENSIONXML

LAYOUT LOCATION

0

LAYOUT LOCATION

1

ltpage-extensiongt ltpage-locationgt ltparent-label-location

label=pagegt ltpage-insertion-point

layout-location=0 placeholder-position=0gt

ltpage-locationgt ltportlet-content content-uri=ldquodemoportlet

title=Demo title orientation=top default-

minimized=false instance-label=demo-

portletgt ltpage-extensiongt

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 47: Weblogic Console Customization

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 48: Weblogic Console Customization

DEMOPORTLETltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=gt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

28

PORTLET STYLES

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 49: Weblogic Console Customization

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 50: Weblogic Console Customization

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-layout-cellgt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 51: Weblogic Console Customization

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltmdash ltnetuixtitlebargt mdashgt ltnetuixcontentgt ltnetuixjspContent contentUri=jspextdemojspgt ltnetuixcontentgt ltnetuixportletgt

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 52: Weblogic Console Customization

DEMOPORTLET

28

PORTLET STYLES

ltnetuixportlet definitionLabel=ldquoDemoPortletrdquo title=ldquoDemoPortlet presentationClass=wlsc-framegt ltnetuixtitlebargt ltnetuixminimizegt ltnetuixmaximizegt ltnetuixtitlebargt ltnetuixcontentgt ltnetuixjspContent

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 53: Weblogic Console Customization

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 54: Weblogic Console Customization

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 55: Weblogic Console Customization

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 56: Weblogic Console Customization

ltbook-extensiongt ltbook-locationgt ltparent-label-location

label=CoreDomainConfigGeneralBookgt

ltbook-insertion-point action=appendgt

ltbook-locationgt ltbook-content content-uri=ldquo

controlsdemobookrdquogt ltbook-extensiongt

29

ADDING PORTLETS AS A TAB OF CONTENTBOOK

NETUIX-EXTENSIONXML

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 57: Weblogic Console Customization

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 58: Weblogic Console Customization

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 59: Weblogic Console Customization

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 60: Weblogic Console Customization

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 61: Weblogic Console Customization

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 62: Weblogic Console Customization

30

ADDING TAB WITHOUT SUBTABS

ltnetuixpage markupName=page markupType=Page definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=page-contentgt ltnetuixmeta name=skeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt

DEMOBOOK

ndash definitionLabelndash instanceLabel

UNIQUENESS

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 63: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 64: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 65: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 66: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 67: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

THIS IS A BOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 68: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 69: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

lsquo SKELETONURI=ldquoSINGLELEVELMENU_CHILDRENJSP lsquo IS DEPRECATEDUSE PRESENTATIONCLASS ATTRIBUTE WITH VALUE MULTI-LEVEL1

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 70: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

ltnetuixbook markupName=ldquobook markupType=ldquoBookrdquo definitionLabel=ldquodomainDemoSubTabs title=Demo Tab 2gt ltnetuixsingleLevelMenu markupType=ldquoMenurdquo markupName=ldquosingleLevelMenu presentationClass=ldquomulti-level1rdquogt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixpage markupName=ldquopage hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

DEMOBOOK

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 71: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 72: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 73: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 74: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 75: Weblogic Console Customization

31

ADDING PORTLETS AS (SUB-)TABS

DEMOBOOK

ltnetuixbook hellip ltnetuixcontentgt ltnetuixpage markupName=ldquopage markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_1 title=Demo Sub Tab 1rdquo presentationClass=page-contentgt ltnetuixmeta name=ldquoskeleton-resource-bundle content=Bundlegt ltnetuixcontentgt ltnetuixportletInstance markupType=ldquoPortletrdquo instanceLabel=ldquodemoportlet2_1 contentUri=portletsdemoportletgt ltnetuixcontentgt ltnetuixpagegt ltnetuixpage markupName=page markupType=ldquoPage definitionLabel=ldquodomainDemoSubPage2_2 title=Demo Sub Tab 2rdquo hellip ltnetuixpagegt ltnetuixcontentgt ltnetuixbookgt

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 76: Weblogic Console Customization

LAYOUTS

32

PAGE LAYOUTS

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 77: Weblogic Console Customization

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 78: Weblogic Console Customization

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 79: Weblogic Console Customization

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayouttwoColumnLayout

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 80: Weblogic Console Customization

onecolumnflowLAYOUTS

32

PAGE LAYOUTS

singlecolumnLayout

threeColumnLayoutfourColumnLayout

twoColumnLayout

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 81: Weblogic Console Customization

ltnetuixgridLayout columns=2 markupType=Layout markupName=twoColumnLayoutgt ltnetuixplaceholder flow=vertical usingFlow=true width=ldquo30 markupType=Placeholder markupName=twoColumn_leftgt ltnetuixportletInstance markupType=ldquoPortlet instanceLabel=demoportlet contentUri=portletsdemoportletgt ltnetuixplaceholdergt ltnetuixplaceholder hellip

hellip ltnetuixplaceholdergt ltnetuixgridLayoutgt

33

PAGE LAYOUTS gridlayoutmarkupname columns placeholder

markupnames

oneColumnFlowLayout na oneColumnFlow_center

singleColumnLayout 1 singleColumn_columnOne

twoColumnLayout 2 twoColumn_lefttwoColumn_right

threeColumnLayout 3 threeColumn_leftthreeColumn_center threeColumn_right

fourColumnLayout 4 fourColumn_left fourColumn_leftCenter fourColumn_rightCenter fourColumn_right

Example layoutsweblogichomelibconsoleappwebappframeworkmarkuplayout

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 82: Weblogic Console Customization

34

ADDING NODES TO DOMAINSTRUCTURE

bull Add backingFile attributebullJava backing class namebullAdded to Book or Page

bullCreate backing Classbull Initialized by backingFile attributebullPasses pagebacking context and page URL

STEPS

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 83: Weblogic Console Customization

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 84: Weblogic Console Customization

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 85: Weblogic Console Customization

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 86: Weblogic Console Customization

BOOK FILE ltnetuixpage markupName=page markupType=ldquoPage

definitionLabel=DomainDemoPage1 title=Demo Tab 1 presentationClass=ldquopage-content backingFile=ldquocomreddippedDemoNavTreeExtensiongt

ltnetuixmeta name=skeleton-resource-bundle content=ldquoBundlegt

ltnetuixcontentgt hellip

35

ADDING NODES TO DOMAINSTRUCTURE

comreddippedDemoNavTreeExtension public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl

PageBackingContext markupName markupType title definitionLabel

String

httplocalhost7002consoleconsoleportal_nfpb=trueampamp_pageLabel=DomainDemoPage1

NavTreePortlet

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 87: Weblogic Console Customization

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 88: Weblogic Console Customization

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 89: Weblogic Console Customization

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 90: Weblogic Console Customization

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 91: Weblogic Console Customization

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquofirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

36

ADDING NODES TO DOMAINSTRUCTURE

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 92: Weblogic Console Customization

36

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode) Add TreeExtension to root of DomainStructure NavTreeExtensionEvent evt =

new NavTreeExtensionEvent(ldquoEnvironmentfirstLevelNode NavTreeExtensionEventAPPEND_ACTION)

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 93: Weblogic Console Customization

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 94: Weblogic Console Customization

public class DemoNavTreeExtension extends NavTreeExtensionBacking

public NavTreeExtensionEvent getTreeExtension(PageBackingContext ppCtx String extensionUrl)

Construct the first TreeNode TreeNode firstLevelNode = new TreeNode(myFirstLevelNodeDemo)

Add the Page as a child node to the first node

based on backing context TreeNode secondLevelNode1 = new TreeNode(ppCtxgetDefinitionLabel() ppCtxgetTitle()extensionUrlfirstLevelNode)

Add additional pages using a hardcoded definitionLabel title and url TreeNode secondLevelNode2 = new TreeNode(ldquodomainDemoSubPage2_1 Demo Sub Tab 1consoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_1firstLevelNode)

TreeNode secondLevelNode3 = new TreeNode(domainDemoSubPage2_2 Demo Sub Tab 2rdquoconsoleconsoleportal

_nfpb=trueamp_pageLabel=domainDemoSubPage2_2firstLevelNode

37

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 95: Weblogic Console Customization

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 96: Weblogic Console Customization

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 97: Weblogic Console Customization

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventINSERT_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmetrdquo firstLevelNode NavTreeExtensionEventAPPEND_ACTION)

NavTreeExtensionEvent evt = new NavTreeExtensionEvent(ldquoEnvironmentrdquo firstLevelNode NavTreeExtensionEventREPLACE_ACTION)

38

ADDING NODES TO DOMAINSTRUCTURE

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 98: Weblogic Console Customization

bull Webserverbull JSONP format

MESSAGE SOURCE

bull jQuery vTickerbull AngularJS

EXTENSION

39

LAB5

JSON_CALLBACK( P_MyDomain DescriptionDevelopment domain for Oracle FMW Technical team DepartmentNameResearch and Development

LAB

bull Adding support info pages based on domain name

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 99: Weblogic Console Customization

40

LAB6LAB

bull Add a tabbull Add a node to

Domain Structure

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 100: Weblogic Console Customization

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 101: Weblogic Console Customization

bull System Statistics Graphsbull Show real-time system information in WL Consolebull Historical view over last 15 minutesbull CPU loadCPUbull Heapsize allocationbull Loaded classes

bull All Managed Servers in one view

41

MORE ADVANCED EXTENSION

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 102: Weblogic Console Customization

bull Data collectionndash MXBean SysStatsbull SimpleType Attributesndash NumCPUsndash Architecturendash CPULoadAverage

bull ArrayType Attributesndash AvgCPULoadHistoryndash LoadedClassesHistoryndash HeapUsageHistory

42

MORE ADVANCED EXTENSION

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 103: Weblogic Console Customization

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 104: Weblogic Console Customization

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 105: Weblogic Console Customization

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistoryTime Value

124232 14124292 11

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 106: Weblogic Console Customization

43

MORE ADVANCED EXTENSION

SysStatsATTRIBUTES

OPERATIONS

CPULoadAverage

AvgCPULoadHistory

takeAvgCPULoadHistorySample 12

AvgCPULoadHistory-Time Value

124232 14124292 11124352 12

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 107: Weblogic Console Customization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 108: Weblogic Console Customization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 109: Weblogic Console Customization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 110: Weblogic Console Customization

SysStatsearSysStatswar

44

MORE ADVANCED EXTENSION

SysStats

ltlistener-classgtSystemInfoCollectorExecutorltlistener-classgt

webxml

public class SystemInfoCollectorExecutor public void contextInitialized(ServletContextEvent sce)

systemInfoCollectorHandle = schedulerscheduleAtFixedRate(new SystemInfoCollector() 1 1 TimeUnitMINUTES)

public class SystemInfoCollector implements Runnable

OperationsAttributes

SysStatsear has Java EE Module SystStatswar

SysStatswar includes listener class

Class executed by scheduler invokes Take operations on SysStats MXBean

Listener class initiates scheduler on context initalization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 111: Weblogic Console Customization

45

LAB7ALAB

bull Deploy SysStatsearbull Explore the SystStats

MXBean

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 112: Weblogic Console Customization

bull Data presentationbullChartjs for graphsbullHTML 5 basedbullRequire JSON datastructurebullBXSlider for sliding multiple graphs

bull 3 different graphsbull CPU loadCPUbull Heapsize allocationbull Loaded classes

46

MORE ADVANCED EXTENSION

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 113: Weblogic Console Customization

47

MORE ADVANCED EXTENSION

bullCPU LoadbullProcesses running or runnablebullDiffers from CPU UtilizationbullBetter indication user wait time

bullGraphbullCPU LoadCPUsbullLoad per CPUbull15 min timeframebullOne layer per ServerbullConsolidate viewbullEasy to detect anomalies

CPU LOADCPU

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 114: Weblogic Console Customization

48

MORE ADVANCED EXTENSION

MEMORY POOL

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 115: Weblogic Console Customization

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 116: Weblogic Console Customization

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 117: Weblogic Console Customization

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 118: Weblogic Console Customization

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 119: Weblogic Console Customization

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 120: Weblogic Console Customization

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 121: Weblogic Console Customization

48

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

TENURED

PERM GEN

CODE CACHE

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 122: Weblogic Console Customization

49

MORE ADVANCED EXTENSION

MEMORY POOL

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 123: Weblogic Console Customization

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 124: Weblogic Console Customization

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 125: Weblogic Console Customization

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE⎨Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 126: Weblogic Console Customization

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE⎨⎨

Memory Pool

Memory Pool

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 127: Weblogic Console Customization

49

MORE ADVANCED EXTENSION

MEMORY POOLHEAP NON-HEAP

EDEN SPACE

SURVIVOR SPACE

PERM GEN⎨Memory Pool

⎨⎨

Memory Pool

Memory Pool

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 128: Weblogic Console Customization

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 129: Weblogic Console Customization

50

MORE ADVANCED EXTENSION

⎨Memory Pool

Max

imum

Init Use

dC

omm

itted

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 130: Weblogic Console Customization

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 131: Weblogic Console Customization

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 132: Weblogic Console Customization

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 133: Weblogic Console Customization

HEA

P

51

MORE ADVANCED EXTENSION

⎨Memory PoolM

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

⎨M

axim

umIn

it

Use

d

Com

mitt

ed

Memory Pool

Memory Pool

USED

COMMITTED - USED

USED

COMMITTED - USED

USED

COMMITTED - USED

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 134: Weblogic Console Customization

52

MORE ADVANCED EXTENSION

bull Experimental viewbullFree not allocated heapbullCommitted not used committed - usedbullUsedused heap

HEAPSIZE ALLOCATION

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 135: Weblogic Console Customization

53

MORE ADVANCED EXTENSION

bullClasses are loaded in permanent generation

LOADED CLASSES

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 136: Weblogic Console Customization

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 137: Weblogic Console Customization

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 138: Weblogic Console Customization

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 139: Weblogic Console Customization

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 140: Weblogic Console Customization

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartwebxml ltservletgt ltservlet-namegtJChartJSONObjectsltservlet-namegt ltservlet-classgtcomreddippedcontrollerjsonJChartJSONObjectsltservlet-classgt ltservletgt ltservlet-mappinggt ltservlet-namegtJChartJSONObjectsltservlet-namegt lturl-patterngtJChartJSONObjectslturl-patterngt ltservlet-mappinggt

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 141: Weblogic Console Customization

54

MORE ADVANCED EXTENSIONHTTPhellipJChartJSONObjectschartType=cpuLoadRadarChartldquolabels

[1008100910101011101210131014101510161017101810191020102110221023]

ldquodatasetsrdquo[ labelmyserver2 ldquofillColorrgba(1652221102) ldquostrokeColorrgba(165222111) ldquopointColorrgba(165222111) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(165222111) ldquodata

[006018000000000000005003000000000000002700200000000000000180770199999999999999980560620000000000000112000000000000002048069005000000000000004400601399999999999999906809]labelmyserver3fillColorrgba(199193102)strokeColorrgba(19919311)pointColorrgba(19919311)pointStrokeColorfffpointHighlightFillfffpointHighlightStrokergba(19919311)data[035035000000000000003027045000000000000007047000000000000003076034013999999999999990820000000000000103800799999999999999604300000000000000505900000000000001031018005000000000000002]

ldquolabelmyserver ldquofillColorrgba(227158302) ldquostrokeColorrgba(22715831) ldquopointColorrgba(22715831) ldquopointStrokeColorfff ldquopointHighlightFillfff ldquopointHighlightStrokergba(22715831)

SysStats

MBean Server Connection

JChartJSONHelper

JChartJSONObjects

JSON

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 142: Weblogic Console Customization

55

MORE ADVANCED EXTENSION

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 143: Weblogic Console Customization

55

MORE ADVANCED EXTENSION

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 144: Weblogic Console Customization

56

LAB7BLAB

bull Add Java Classesbull JChartJSONObjectsbull JChartJSONHelper

bull Create WLC Extbull Add Bookbull Add JSP

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 145: Weblogic Console Customization

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 146: Weblogic Console Customization

DEVELOPING ENTERPRISE JAVABEANS VERSION 21 FOR ORACLE

EXTENDING THE ADMINISTRATION CONSOLE FOR ORACLE WEBLOGIC SERVER

WEBLOGIC SERVER MBEAN REFERENCE

W3SCHOOLS ANGULARJS

CODESCHOOL SHAPING UP WITH ANGULARJS

BXSLIDER THE RESPONSIVE JQUERY CONTENT SLIDER

CHARTJS

TYPOGRAPHY

TUTORIALSPOINT JAVA SERVER PAGES

57

USEFULL WEBSITES

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes

Page 147: Weblogic Console Customization

DRIVEHOME SAFELY

wwwreddippedcom

58

petervannes