Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation ›...

38
Building your own BMC Remedy AR System v7 Applications Maruthi Dogiparthi

Transcript of Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation ›...

Page 1: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Building your own BMC Remedy AR System v7 Applications

Maruthi Dogiparthi

Page 2: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Agenda

› Introduction› New Goodies

– Navigation, tree widgets– Data Visualization Plug-in framework

› Development Guidelines› Tools

– BMC® Remedy® Developer Plus– Prefetch– Profiler

› References› Q&A

Page 3: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Navigation Bar

› What is the Navigation Bar in BMC® Remedy® Action Request System® (AR System®) v7?

– A new control field for presenting navigation menus horizontally or vertically › Key functionality

– Look and feel is fully customizable using style sheets, even on the User Tool.

– Displays rounded corners and rollover styles for modern look.– Provides standard workflow support to hide/disable/highlight nodes.– A vertical navigation bar can be multiple levels deep. Horizontal navigation

bars support only single level.– A developer can add separators for logical separation of nodes.

• The separator has no visual clue - just a blank space.– A developer can easily add or convert existing control buttons to navigation

bar nodes.– Node labels can be localized.

Page 4: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Navigation Bar - Setup and Creation

› Horizontal Navigation Field Properties– Since Horizontal fields can have only one level, only Menu Items can be added. The

Add Menu button is disabled.– “Select item on click” option is unchecked by default– “Fire workflow again on selected item” option is set to “Do not fire workflow” by default.

Page 5: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Navigation Bar - Setup and Creation

› Vertical Navigation Field Properties– Field can have any level menu.– “Select item on click” option is checked by default.– “Fire workflow again on selected item” option is set to “Do not fire workflow” by default.– Navigation Initial State (explained on next slide)

Page 6: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Navigation Bar - Setup and Creation

› “Navigation Initial State” property defines which item is selected on Form Load.

› Attach Orphaned Items– Lets the user add navigation items that have been orphaned

• Orphaning typically occurs when the parent Navigation items or other control fields like Menus or Buttons are deleted.

Page 7: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Navigation Bar - Workflow

› Workflow Capability– All the workflow features for a button or menu field will work with Nav Bars.– New “Run Process” command added to highlight specific item.

• PERFORM-ACTION-NAV-FIELD-SET-SELECTED-ITEM• This will not fire workflow attached on that item. It will just select the item.

– Every navigation item is a new control field. • All the relevant workflow (hide/disable etc) can be applied to individual

Navigation item.– Keyboard navigation is defined using Tab key to move from item to item (just

like move from button to button). • Enter will select the item.

Page 8: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Navigation Bar - “Gotchas”

› The height of Horizontal Navigation fields cannot be shrunk to less than 30 pixels.

› When deleting parent field, the Admin Tool will not delete the navigation item children fields. Instead, AR System marks their type as Menu. So when the user goes the Edit Menu Bar dialog, the children fields will be available there.

› The “Attach Orphaned Items” dialog will show these orphaned items as well.

› If there is not enough space to show the whole field, then Vertical field will have scroll bars and the Horizontal field will clip the items (i.e. no scroll bar will be available).

› In the Admin Tool, the preview always shows all the items expanded for a Vertical field.

Page 9: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Tree

› New Tree Control field allows graphical selection and manipulation of application data similar to in Windows Explorer.

– Allows users to drill down into data– Enables user selection to drive custom-built workflow

Page 10: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Data Visualization Plug-in Framework

› Plug-in architecture for custom UI applications extensions

› Services handled by Mid-Tier• Authentication and permissions • Deployment• Locale support• Session support• Event signaling for communicating with AR System (can be used

to build workflows)– From Client plug-in to Mid-Tier– From Client plug-in to parent AR Form– From parent AR Form to Client plug-in– Drill down from Client plug-in to AR Form

› Services handled by Server• Import/Export as part of applications• Access rights on definitions

Page 11: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Plug-in Framework: How Does It Work?

› General Configuration– Configure Plug-in Server(s) for a Mid-Tier– Point Admin/User tool to a proper Mid-Tier

› Deployment Forms– Data Visualization Module:

• To register a new Module (plug-in)• Allows version control

– Data Visualization Definition• To create instances of a module (plug-in)• To specify behavioral definitions• To specify access control

› Creation of a Data Visualization Field– A “Data Visualization Field” is now used by BMC® Remedy® Flashboards®, as well

as other features found in BMC® Remedy® IT Service Management applications– Add a data visualization field to an AR Form, select the definition

Page 12: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Server Forms for Plug-in

Definition/Instance of a Plug-in

Plug-in jar file

Page 13: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Configuring Plug-in with Admin Tool

Page 14: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Plug-in Framework: Architecture

ClientPlug-in

Container

Data Visualization Field

Plug-in

Mid-Tier AR System

Plug-in Codein

Data Visualization Module form

Plug-in Definitions

in Data Visualization

Definition form

1. Request

2.Download And

Instantiate Plug-in

3. Redirect Request along

with login context

4. Get definition(s) for request

5. Validate permissions

and return the definition(s)

6. Return the graph/image with

code for interactions

Page 15: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Plug-in Framework: Summary

› Accelerates creating out-of-the-box solutions with easy integration through Mid-Tier

› Feature is intended for use by advanced AR System developers with Java skills

Page 16: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Development Guidelines

› What kind of applications are you developing?– Customizing out-of-the-box applications vs. new applications– Mashups

› Requirements, Design, Test, and Deploy– Where are you spending most of your time?– Bottlenecks– Tool support

› Details

Page 17: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Build Business Logic in Filters

› Don’t build business logic on the client – build it in filters– This best practice helps:

• Design• Performance/scalability• Integrations• Security

› Take advantage of plug-ins:– Use filter plug-ins over “run process”– Use view forms or ARDBC to access data from other sources– Use the Mid-Tier plug-in framework

› Share, re-use, and recycle

Page 18: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Organize Forms Based on Usage, Data Models

› Do you really need 1,000 fields on that form?› If a field is never visible, don’t put it in view.› Use temporary fields wisely, and don’t be afraid of re-use.› Use display only fields whenever data is not being saved.› Data may be better accessed as a popup or elsewhere rather than

being on the base form.– Consider usability as well

Page 19: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Client Logic

› Client workflow (active links) often executes much more slowly than business logic because active links:

– Are further from the database and server• Latency concerns• Bandwidth concerns

– Use a less optimal interpreter (e.g. JS in a Web browser)› Client performance has a high “perceived” impact to the user

Page 20: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Client Form Design and Layout

› Table field proliferation › Page holders within page holders within page holders› Unnecessarily common use of images (esp. BMP)

– May be able to use “image swap” on Web to help out› Too many states on the same view

– Multiple field permission states, applied by hand– Excessively large number of Change Fields on mode changes

› Don’t pull unrelated information now if it’s only used later– Table/Flashboard/graphical plug-in field loads– Data retrieval

Page 21: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Menus

› Large query style menus are a problem– Large quantity of data– Too much data displayed at the same level is hard to navigate and displays

slowly (thousands of items) on the Web.› Limit menus that load “on open” to ones that are truly dynamic

– Be especially careful moving from development into production to “flip the switch” back again.

– Most of the time, fairly static items (people, products, groups, versions, etc.)are safe to be loaded once only.

Page 22: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Queries

› Have the indexes correctly defined› Check for any inefficient queries› Look for unqualified queries

– Can result in a table scan

Page 23: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Table, View, and Tree Fields

› Table fields– More than a few hundred rows of table data should be chunked instead

(especially with AR System v6.3+).– Load tables as late as possible and refresh as infrequently as possible.– Table loop guides that change lots of data can run slowly in the native client.– Beware of queries that execute badly.– Refresh tables only that are needed to be refreshed. If you are on a certain

tab, refresh the tables only on that tab.› Defer loading Flashboards where appropriate› Tree fields

– Minimize total nodes to <1,000 for optimal performance– Chunking is not available; consider using tree and table combinations to

improve usability and performance

Page 24: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Active Links

› Fetch ‘related info’ in one go– Use “on get entry” filters to pull related data for display– Use hidden table columns to prepopulate other fields, other windows, or

dialog boxes› Use global fields

– Store small, simple bits of data (e.g. configuration) that will be accessed frequently to ‘cache’ information

– Don’t read the same record multiple times

Page 25: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Active Links

› In addition to efficiently fetching data, defer work– A responsive UI to accomplish the task with a pause at the end is better than

a sluggish UI throughout the whole process.› “Modify” can be better than “push field”

– Modify only transmits values that have changed› More maintainability

– Undoing and then redoing the same work (hiding/showing fields, changing background colours, etc.)

– Deeply nested guides

Page 26: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Things Not to Do in a Web Browser

› Don’t disable built-in optimizations– They show up in the Mid-Tier performance log.– These are documented. The key ones are below.

› Never– Use an indirect change field action to make a field visible

› Always try to avoid– Using PERFORM-ACTION-ACTIVE-LINK– Using browsers with compression disabled– Clearing out Mid-Tier cache on a production system

• Prefetch can help you in most of the cases though

Page 27: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Remove Obsolete Objects

› It’s fine to delete rather than disable workflow.› Remove forms that are no longer appropriate.› Remove old, unused menus.› If something isn’t called, it probably isn’t needed.

Page 28: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Testing for Performance

› Use lots of data (where appropriate)› Use slow machine (e.g. 266MHz Pentium)› Use tools – for example:

– Load testing tools– Measurement tools– Application explorer for simple optimisation suggestions

› Test over LAN, cable/ISDN, modem› Test within the customer environment

– Or a reasonable recreation of it

Page 29: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Use Logging to Review Efficiency

› The problem may not be where you thought is was.– It could be lurking in a different tier.– It could be because of the test scenario.

› Use the logs to diagnose problems, narrowing by tier:– Mid-Tier performance log tells you Mid-Tier time and server API time.– Server logs tell you server processing time and database (SQL) time.

› The profiler tool helps in advanced scenarios.

Page 30: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Tools

› BMC Remedy Developer Plus

Page 31: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

BMC Remedy Developer Plus: Analyze This …

› Analyze application

Page 32: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

BMC Remedy Developer Plus: Drill Down …

› Execution view:– Is there redundant workflow?

Page 33: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Prefetch

> Form-load time is high for the first user.> Configuring Prefetch

– Find <mid-tier-installation-dir>/WEB-INF/classes/prefetchConfig.xml. – Edit prefetchConfig.xml. You can refer to XML Schema definition at <mid-

tier-installation-dir>/Documentation/prefetchConfig.xsd – Restart your Mid-Tier server.

> Using Prefetch– <prefetch-server> <server-name>ServerName</server-name> <prefetch-

app> <app-name>AppName</app-name> <prefetch-form> <form-name>FormName</form-name> </prefetch-form> </prefetch-app> </prefetch-server>

– Per User group <perfetch-user>

Page 34: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Profiler> Setup for Profiling in the Mid-Tier Configuration

Page 35: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Profiler

> Show Profile and Clear Profile buttons

Page 36: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

More References

› Custom login.jsp› SSO› Performance and scalability benchmarks› Differences in Windows\Web Clients› Section 508 (Accessibility standard) support

Page 37: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Summary

› New widgets and features to help you further› Best practices for maintainability, performance› Tools

Page 38: Building your own BMC Remedy AR System v7 Applications fileNavigation Bar - Setup and Creation › Horizontal Navigation Field Properties – Since Horizontal fields can have only

Q&A