lessons learned from the worlds largest xpage project

42
© 2013 IBM Corporation BP211 Lessons From the Worlds Largest XPages Project Andrew Barickman | Practice Leader, PSC Group LLC Mark Roden | Senior Consultant, PSC Group LLC

Upload: mark-roden

Post on 05-Dec-2014

4.372 views

Category:

Technology


2 download

DESCRIPTION

Working on the world's largest XPages implementation has its challenges. Modernizing an IBM Notes client application used in over 105 countries by over 100,000 users teaches you a lot! In this session, we'll share some of the challenges and our appropach to overcoming them. We'll demonstrate a new XPinC performance feature in the upcoming Social Edition being added as a result of our work with IBM. We'll also demonstrate best practices in user interaction, share lessons learned on team development using a single .nsf file -- and much more. Come and find out more about how you can save time, money and avoid end-user frustration as we share our experiences - and open the covers of the largest XPages project in the world. Sample DB provided!

TRANSCRIPT

Page 1: Lessons learned from the worlds largest XPage project

© 2013 IBM Corporation

BP211 Lessons From the Worlds Largest XPages Project Andrew Barickman | Practice Leader, PSC Group LLC Mark Roden | Senior Consultant, PSC Group LLC

Page 2: Lessons learned from the worlds largest XPage project

About Andrew

• Nearly 20 years delivering IBM Notes Domino® work

• Started at Lotus in Boston

• Manage PSC’s Collaboration Practice at PSC• Delivery• Personnel• Sales Support• Team and Project Technical Direction

• Contact Information• [email protected]• @ajbarickman

Page 3: Lessons learned from the worlds largest XPage project

Over 15 years IBM Notes Domino® work

Senior Consultant at PSC• XPages developer • Project Leader

Contact Information• Blog: http://www.xomino.com• Email: [email protected]• Twitter: @markyroden• Skype: marky.roden

About Mark

Page 4: Lessons learned from the worlds largest XPage project

www.psclistens.com @pscgroup

Page 5: Lessons learned from the worlds largest XPage project

The Application• Lesson One: Team Development and XPages• Lesson Two: Performance• Lesson Three: User Experience

Questions

Agenda

Page 6: Lessons learned from the worlds largest XPage project

Over 65,000+ Users

105 Countries

14 different resources from PSC

14,000 consulting hours

The Worlds Largest? Really?

Page 7: Lessons learned from the worlds largest XPage project

Single page web application– Dojo– jQuery– EXTJS– Extension Library

Modalities – The promise of XPages• IE, IE9, Firefox• Notes – Connected & Disconnected• Mobile

• Feature Rich iPad • Handset approvals

Technical highlights

Page 8: Lessons learned from the worlds largest XPage project

Gantt Chart with COM Export to MS Project

MS Excel data import and export

Automatic Print to PDF

Dynamic Forms– Independent form builder– Build using JSON data representation

Windows explorer file integration– Round trip editing of Office documents– Maintains file depencies

Functional highlights

Page 9: Lessons learned from the worlds largest XPage project

Highly tailored project management application

Manages the content and deliverables for all of their customer engagements

Full application lifecycle management• Provisioning• Archiving

What does it do?

Page 10: Lessons learned from the worlds largest XPage project

Limited to 8.5.2 due to roll out constraints

Thousands of instances of the same design spread across many servers

Self contained so that it can be replicated and used locally

Support all different modalities that XPages allows

YEARS of highly complex, business specific logic and customized code

Application Design / Constraints

Page 11: Lessons learned from the worlds largest XPage project

Working with Domino Designer in Eclipse (DDE)• Not the same as traditional Notes development• Refresh all code updates before building• No design locking• Build Path needs consideration

Lesson One: Team Development and XPages

Page 12: Lessons learned from the worlds largest XPage project

Individual servers for each developer• Same domain to replicate NABs• SSJS debugging• No cross building issues

Source control

Master build management

Recommendations

Page 13: Lessons learned from the worlds largest XPage project

Virtual Machine (VM) distribution• Mimic production environment• Reducing testing incongruity• Maximizing productivity• Easy to deploy to new team members

Recommendations

Page 14: Lessons learned from the worlds largest XPage project

If the application does not perform nothing else you do to it matters

• Single Copy XPage design• Major XPINC performance improvement in Notes 9• Preloading of design elements for Notes client

Lesson Two: Performance

Page 15: Lessons learned from the worlds largest XPage project

Single Copy XPages Design (SCXD) works when you have many instances of a single design

The following example with be shown using the team room template

Performance - Single Copy XPages Design

Page 16: Lessons learned from the worlds largest XPage project

Opening the Team Room in the notes client

Performance - SCXD

Page 17: Lessons learned from the worlds largest XPage project

View source for a database WITHOUT SCXD

Performance - SCXD

Page 18: Lessons learned from the worlds largest XPage project

Open the database in designer to enable Single Copy XPages design

Performance - SCXD

Page 19: Lessons learned from the worlds largest XPage project

Open the database in designer to enable single copy XPage design

Performance - SCXD

Page 20: Lessons learned from the worlds largest XPage project

Shut Notes and reopen the database – path to the SCXD NOT the database

Performance - SCXD

Page 21: Lessons learned from the worlds largest XPage project

Benefits for both Notes client users and browser users

Performance increases for a user switching between many team rooms because the resources are already cached locally

Increased server efficiency and performance because the server can cache those resources once and serve them to many different users regardless of the team room they are opening

But wait….. It gets better if you are using Notes clients and IBM Notes Domino® 9 Social Edition

Performance - SCXD

Page 22: Lessons learned from the worlds largest XPage project

Create a local replica of the SCXD

Performance - SCXD

Page 23: Lessons learned from the worlds largest XPage project

Open the SERVER copy of the database

Performance - SCXD

Page 24: Lessons learned from the worlds largest XPage project

The server database is now using the LOCAL resources

Performance - SCXD

Page 25: Lessons learned from the worlds largest XPage project

If the user accesses the database via a browser the server looks for the SCXD on the server at the path specified

If they use a Notes client without a local copy or replica of the SCXD then it uses the server based copy

If they have a local copy or replica of the SCXD they get the added benefit of large performance increases

If no SCXD exist it will fail gracefully

But wait again… there is yet more!

Performance - SCXD

Page 26: Lessons learned from the worlds largest XPage project

XPagesPreload=1

XPagesPreloadDB=…

Specify the local SCXD database

Include the page or pages to preload when the Notes client starts

Those elements and any dependencies will be preloaded to greatly speed up initial open

Performance - PreLoad

Page 27: Lessons learned from the worlds largest XPage project

How do I know if preloading is working?

Add –RPARAMS –console to your application shortcut

This will load the OSGI console on load of the Notes client

Performance - PreLoad

Page 28: Lessons learned from the worlds largest XPage project

Performance - PreLoad

Page 29: Lessons learned from the worlds largest XPage project

OSGI console will show the preloading information after client load

Performance - PreLoad

Page 30: Lessons learned from the worlds largest XPage project

The results you get will vary greatly depending on the speed of your WAN/LAN connection

Our experience in the Notes client – your results may vary– 2-3 times as fast for normal operations such as opening a view or

opening a document– Up to 10 times as fast for initial database open when using

preloading

Performance –Conclusions

Page 31: Lessons learned from the worlds largest XPage project

Where is my lightning bolt?

Users need to know that something is happening

How do I search for my documents?

Demos• Good solution • Better solution

Lesson Three: User Experience

Page 32: Lessons learned from the worlds largest XPage project

XPages and web development require a new approach

Fundamentally different than in Notes

Key interface to nearly every application you build

Get it right and your users will love you

Getting Views on the Web Right

Page 33: Lessons learned from the worlds largest XPage project

Paging through thousands of records is not practical

Views – Out of the Box Usability

F

Page 34: Lessons learned from the worlds largest XPage project

Your users don’t know FT search syntax…

Views – Search

C-

Page 35: Lessons learned from the worlds largest XPage project

Views – Query Builder

B+

Page 36: Lessons learned from the worlds largest XPage project

Views – EXTJS Grid

A+

Mark Roden
I think the best demo here is what Imran did with the Copy from Mailbox archiveSearch for your item from thousands - then filter the last few
Page 37: Lessons learned from the worlds largest XPage project

Views – EXTJS Grid Architecture

Page 38: Lessons learned from the worlds largest XPage project

A sample database will be shown to provide working examples

This database will be made available after the conference

Demonstration

Page 39: Lessons learned from the worlds largest XPage project

Questions and Answers

Page 40: Lessons learned from the worlds largest XPage project

Those who worked on the grids:– Steve Lohja – Imran Bhaidani– Troy Reimer– Andrew Barickman– Mark Roden

Thanks also to contributions by Tony McGuickin (IBM)

Thanks to the PSC team

Page 41: Lessons learned from the worlds largest XPage project

41 © 2013 IBM Corporation

Legal disclaimer

© IBM Corporation 2013. All Rights Reserved.

The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.

References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Page 42: Lessons learned from the worlds largest XPage project