Presentation is loading. Please wait.

Presentation is loading. Please wait.

A framework approach eases support for the iServer Brio Mid-Atlantic User Group 8 th April 2003 Socs Cappas QIQ Solutions.

Similar presentations


Presentation on theme: "A framework approach eases support for the iServer Brio Mid-Atlantic User Group 8 th April 2003 Socs Cappas QIQ Solutions."— Presentation transcript:

1 A framework approach eases support for the iServer Brio Mid-Atlantic User Group 8 th April 2003 Socs Cappas QIQ Solutions

2 2 Agenda Where to from here Our Brio iServer Experience Introduction A Framework for Brio JavaScript Leveraging the Framework

3 3 Who is QIQ Solutions? Part of the Forge Group – Australian owned and operated since 1996 – Offices in Sydney, Canberra and Melbourne Forge Research – Developer of Telco Management Systems – Tens of thousands of network devices – 7x24 nationwide operation Forge Data Solutions – Business Intelligence implementation QIQ Solutions – Business Intelligence Product Development – Brio Solutions Partner

4 4 What QIQ does (1 of 2) 2000 – Query Intelligence – Harvest BQYs for their attributes – Load attributes into RDBMS – Query and Report on your BQYs 2001 – ES Designer – Framework for dashboards – Dashboard building via a Wizard 2001 – QIQ Merge – Merge your existing BQYs With each other With our framework

5 5 What QIQ does (2 of 2) 2002 – ES Architect – IDE for Brio JavaScript Color coded syntax, brace match Break points, Step execution, Peek and poke properties Search and replace etc 2003 – Upgrade Dashboards for iServer – iServer has changed the Brio model – We change our users’ dashboards to match it 2003 – Upgrade Data Models – RDBMS changes, data model changes – Replace your old data models with new data models – Make your old Queries work against new schemas

6 6 ES Designer and its Dashboards ES Designer Wizard

7 7 ES Architect - IDE for JavaScript ES Architect

8 8 Agenda Where to from here Our Brio iServer Experience Introduction A Framework for Brio JavaScript Leveraging the Framework

9 9 Architecture – Pop up dialogs Designer / Explorer / Insight QuickView FreeView Click to start JavaScript executes locally Dialog pops-up Screen is refreshed JavaScript executes locally User answers

10 10 Architecture – Helper Forms iServer Click to start JavaScript executes remotely New HTML is sent to browser JavaScript executes remotely Click to start New HTML is sent to browser Click to start JavaScript executes remotely New HTML is sent to browser

11 11 Architecture – Joole Designer / Explorer / Insight QuickView FreeView var jo=new JOOLEObject(“param”) jo.methodCall() Lets you call and interact with the local operating System

12 12 Architecture – Joole iServer var jo=new JOOLEObject(“param”) jo.methodCall() iServer ignores this Why? a) It could be an attack on the server b) the local OS is the server! c) the local OS may not be Windows

13 13 Architecture – Print / Export iServer Browser Print button for screens Brio print feature not available The server’s resources may be behind the firewall on another continent etc Export feature not available via menus but can be implemented using JavaScript

14 14 Platform Differences iServer OnDoubleClick() – not available RefreshAvailableValues() broken Intermittent firing of OnActivate() ActiveSection construct can cause unexpected behavior Connected status ambiguous No Console Window Charts and Pivots on EIS act as hyperlinks always… …but there is no back button Ovals / round boxes => rectangles Multiple spaces are reduced to one Browser versions are critical

15 15 Who is the Audience? iServer Can only be built via EIS / JavaScript… New Data models New Queries New Charts New Pivots New Reports New or existing Local Limits The audience seems “casual users” Dashboards are essential for this audience

16 16 Making Dashboards iServer ready Deploy to the iServer Run all critical paths and observe the behavior If something is broken – find it and fix it – For all platforms It took us almost 2 months ESD dashboards only have ONE code base – No matter how many dashboards We have complex and sophisticated code We have our own fully featured diagnostics – We don’t use the Console window so don’t miss it

17 17 Agenda Where to from here Our Brio iServer Experience Introduction A Framework for Brio JavaScript Leveraging the Framework

18 18 Your BQYs & Our Framework Reports Queries Results PivotsCharts Regular BQY QIQ Merge / Import feature Template Core ClassesFrame ClassesExtra ClassesCore Collector Run Time Build Time

19 19 Template Framework Needs Configuration Runtime Framework Extra ClassesCore Classes Build Framework Reports Queries Results PivotsCharts Frame ClassesCore Collector

20 20 Source Master Runtime Wizard Driven Application Building Reports Runtime FrameworkQueries Results PivotsCharts Extra ClassesFrame ClassesCore Classes Build Framework Core Collector Wizard Builder Interface EIS - User Interface

21 21 Source Master Runtime Extend with Plug and Play Components Reports Runtime FrameworkQueries Results PivotsCharts Extra ClassesFrame ClassesCore Classes Build Framework Core Collector Wizard Builder Interface EIS - User Interface P-n-P Collector P-n-P Classes P-n-P Frame Class

22 22 Analytic Development Platform Development Lifecycle with Templates and Components ES Designer Templates Point, Click, Generate Components Design, Code, Test ES Architect Components

23 23 Let us look closely at the framework Runtime Framework Extra ClassesCore ClassesP-n-P Classes EIS - User Interface Visible EIS sections Hidden EIS sections Back plane OnStartup(){ discover environment initialize diagnostics initialize back plane initialize core initialize extra initialize P-n-P activate welcome EIS }

24 24 QIQ Diagnostics – our life saver

25 25 Pattern for Qiq_trace OnStartUp() function Qiq_trace(str,level,component){ if (str.slice(0,3).toLowerCase()==“in ”){ Qiq_arrProcStack.push(str) }else{ if (str.slice(0,4) ).toLowerCase()==“out ”){ Qiq_arrProcStack.pop() } if (Qiq_harTraceLevel[component]>=level){ Sections[“QIQ Diagnostics”].lbxTrace.Add(str) } ActiveDocument.Qiq_trace=Qiq_trace

26 26 Pattern for Component Initialization OnStartUp() ActiveDocument.harSections1020=new Array() for (var a=1;a<=Sections.Count;a++){ if (Sections[a].Type==bqEIS){ if (Sections[a].FrameType.Text==1020){ harSections1020[Sections[a].Name]=Sections[a] for (var b=1;b<=Sections[a].Shapes.Count;b+){ if (Sections[a].Shapes[b].Type==bqCommandButton){ Sections[a].Shapes[b].OnClick() }

27 27 Hidden EIS Section Buttons Text Labels Pattern for Components Control Click Drop Down Select StartUp ShutDown Pre Process Post Process On Activate On Deactivate Is System Section Reset Others… Frame Type = 1020 Version Info Component Info Tool tips Language Strings Other persistent settings

28 28 Pattern for functions CommandButton1.OnClick Event var tp = this.Parent Qiq_trace("In " + tp.Name+"."+ this.Name,0,tp) tp.harConstants=new Array() function Qiq_onClick(mySection){ Qiq_trace("In "+tp.Name+".Qiq_onClick()", 1,tp) // regular code Qiq_trace("Out "+tp.Name +".Qiq_onClick()", 1,tp) } tp.Qiq_ onClick =Qiq_ onClick Qiq_trace("Out " + tp.Name+"."+ this.Name,0,tp)

29 29 Sample Initialized Brio Object Model

30 30 Visible EIS Section Scripted Shapes Hidden Text Labels Pattern for User EIS sections Picture 1 Picture 2 Button 1 Button 2 Button n Drop Down 1 Drop Down 2 Drop Down n Picture n Text Label 1 Others… Configuration info for Button 1 Configuration info for Button 2 Configuration info for Button n etc txlMe => Template back plane txlClass => Component

31 31 Events on User EIS Any Control - Any Event() Sections[txlMe.Text].Qiq_onControlClick(this.Parent,this)

32 32 Pattern for Event Broker function Qiq_onControlClick(mySection,myControl){ switch (myControl.Name){ case (“known id1”) : handler1(mySection,myControl); break case (“known id2”) : handler2(mySection,myControl); break case (“known id3”) : handler3(mySection,myControl); break // etc… default: var c=findComponent(mySection,myControl) c.OnClick(mySection,myControl) } this.Parent. Qiq_onControlClick = Qiq_onControlClick

33 33 Source Master Runtime Typical Interaction Reports Runtime FrameworkQueries Results PivotsCharts Extra ClassesFrame ClassesCore Classes Build Framework Core Collector EIS - User Interface P-n-P Collector P-n-P Classes P-n-P Frame Class

34 34 Agenda Where to from here Our Brio iServer Experience Introduction A Framework for Brio JavaScript Leveraging the Framework

35 35 Code only exists in the Infrastructure Runtime Framework Extra Classes Build Framework Reports Queries Results PivotsCharts Core CollectorCore ClassesFrame Classes EIS - User Interface P-n-P Collector P-n-P Classes P-n-P Frame Class System Infrastructure

36 36 So when the world changes… Runtime Framework Extra Classes Build Framework Reports Queries Results PivotsCharts Core CollectorCore ClassesFrame Classes EIS - User Interface P-n-P Collector P-n-P Classes P-n-P Frame Class System Infrastructure

37 37 We can Upgrade it safely Runtime Framework Extra Classes Build Framework Reports Queries Results PivotsCharts Frame Classes Core ClassesFrame Classes P-n-P Collector P-n-P Classes P-n-P Frame Class EIS - User Interface Core Collector System Infrastructure

38 38 Template Make Template Dev App Template Sample and Production Applications newsections.dat 1) Code & Test Dev App 2) Generate Template 3) Upgrade newsections.dat 4) Upgrade Applications

39 39 Components Component Make Template Dev App Template Sample and Production Applications 1) Code & Test Dev App 2) Generate Component 3) Upgrade newsections.dat 4) Upgrade Applications Component Dev Apps newsections.dat

40 40 Template & Component Make Template Dev App Component Dev Apps Template Components Sample and Production Applications newsections.dat 1) Code & Test Dev App 2) Generate Template 3) Upgrade newsections.dat & Component Dev Apps 4) Upgrade Applications

41 41 Computer Literate Developers The Productivity Advantage Highly Technical Developers Analytic Applications Components and Templates Analytic Applications Analytic Development Platform Traditional EIS Development

42 42 Tool and Component Productivity Hand written Applications no IDE Productivity Flexibility Generated Applications Component based Generated Applications Hand written Applications with IDE

43 43 Benefits of this framework Construction productivity – Focus on the business…not on programming bugs – Empower the business users to drive performance – Build dashboards in hours not days and weeks Standardization – Reduce the cost of training – standard features Saving on maintenance and enhancement – Write no code – maintain no code – QIQ support the framework with new versions of Brio – Leverage QIQ’s JavaScript for your P-n-P components – Maintain only your P-n-P components Save on how you keep dashboards current – ES Upgrade automates deployment of upgrades and enhancements

44 44 Agenda Where to from here Our Brio iServer Experience Introduction A Framework for Brio JavaScript Leveraging the Framework

45 45 Change is the Management Challenge What needs to change? How to apply it quickly and effectively? How to apply it consistently? How to ensure no unwanted side effects? How to authorize changes? How to work within enterprise standards?

46 46 The Management Vision Reduce the time and effort to roll out changes – Build lists of impacted documents easily By defining criteria By matching against provided samples By selecting specific documents – Specify changes verifiably Change specification generate scripts Scripts can be saved and re-used Changes can be tested on subsets of a list Change reports generated – Authorization of change Who can identify documents to be changed Who can specify and apply changes Recording who made the changed – Automation of change Schedule execution of changes – Assist organizations with their change control process Development, Test and Production

47 47 Desktop Client Service Manager QIQ Workbench Desktop Transform Engine Change Scripts & Doc Lists Browse Folders Ad-hoc Changes Define Favorites Standard Changes

48 48 What Kinds of Changes? Section Merge – With full dependency – Yank and graft Section Replacement – EIS – Data Models, resolving all references Re-Parent of Charts and Pivots Document-wide shape properties – Locking, Visibility, Image replacement, Colors Ad-hoc changes Program changes in JavaScript


Download ppt "A framework approach eases support for the iServer Brio Mid-Atlantic User Group 8 th April 2003 Socs Cappas QIQ Solutions."

Similar presentations


Ads by Google