SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Downloaden Sie, um offline zu lesen
AD111: The X Path: Practical
Guide to taking your IBM
Lotus® Notes® Applications to
XPages
Hunter R. Medney | X-Man | IBM
Stephan H. Wissel | X-Man | IBM




© 2012 IBM Corporation
Agenda
■   Introduction
■   Conversion Guide (“The X Path”)
■   Best Practices
■   Tools
■   Large #s of Databases




                                      2 |   © 2012 IBM Corporation
Typical reasons for doing this
■   Web-enable Notes client applications?
■   Remove the Notes client?
■   Facelift applications?
■   Decouple data model from presentation?
■   Mobile enable applications?
■   Pay technical debt*?




                                             *http://en.wikipedia.org/wiki/Technical_debt
                                                                           3 |   © 2012 IBM Corporation
Why take your Notes client apps to XPages?
■   No data migration
      ─ Data migration is common point of failure
      ─ Preserve reader/author field security
■   Incremental migration
      ─ Keep old app while rolling-out new app in phases
■   Reuse
      ─ Code
      ─ Authentication and authorization
■   Skills
      ─ Notes skills carry-over
■   Enterprise-class platform
      ─ Domino just works!
      ─ You wouldn't have so many
        Notes apps if it didn't!




                                                           4 |   © 2012 IBM Corporation
Conversion Guide




© 2012 IBM Corporation
Conversion Guide – An Agile Approach

                                                Releases

                                  Minimum
  Planning       Preparation      Working       Version 1.0     Version 2.0+
                                    App

Key          Get your Notes    Lay the      Functional app    Optimize and
decisions    app ready         foundation                     make it beautiful




                          Higher            Lower
                          Quality            Risk



                                                                   6 |   © 2012 IBM Corporation
Planning

                                                Releases

                                      Minimum
 Planning         Preparation         Working   Version 1.0   Version 2.0+
                                        App


  ■   Key questions that will drive
      approach and effort




                                                                7 |   © 2012 IBM Corporation
Key Decisions
■   Should the app be converted?                     ■   Reuse or rewrite LotusScript?
     ─ Ensure XPages is really needed, then               ─ Decide whether app logic will be reused
       target high visibility, low complexity apps
       first
                                                     ■   User interface approach?
■   Behave like the Notes client?                         ─ Look & feel, branding, navigation

     ─ Notes-like or web-like user experience?
                                                     ■   Enhancements?
■   External dependencies?                                ─ Opportunity to implement new
                                                            requirements?
     ─ Microsoft Office / IBM Lotus Symphony™
       integration, COM, DLL calls?
                                                     ■   Testing?
■   Coexistence with Notes interface?                     ─ Decide how much testing the converted
                                                            app requires. Coexistence.
     ─ Increase development and testing time,
       especially if maintaining field-level
                                                     ■   Code analysis
       compatibility                                      ─ Uncover code in forms, subforms and
■   Notes features not supported yet in                     views that may not be obvious and
                                                            understand the magnitude of effort
    XPages?
     ─ Does your app have signatures,
       encryption, embedded objects? Deep rich
       text usage?

                                                                                        8 |   © 2012 IBM Corporation
Should the app be converted?


Avoid conversion if:
        ■   Standard template or variant thereof
        ■   Can be migrated to a standard application platform
             ─ IBM Connections or IBM Quickr®
        ■   Used only by administrators and developers
        ■   Already has a functional web UI? (ensure ROI)
        ■   Is it better suited for archival?




                                                                 9 |   © 2012 IBM Corporation
Conversion Sweet Spot




                        Sweet spot




                           10 |   © 2012 IBM Corporation
Behave like the Notes client?




                      ?
Behave like a Notes app?          Behave like a modern web app?




                                                     11 |   © 2012 IBM Corporation
Your user experience can be more than outlines, views, documents and action bars
                                                                         12 |   © 2012 IBM Corporation
“Notes-like” vs “web-like”                      Exciting
                                              possibilities!

                                             Task-oriented vs
                                            document-oriented

                                       Notes model is not
                                       natural for the web

                                Notes-like can complicate
                                   user expectations

                             OneUI is very intuitive
                                (low training)

        Users resistant to
       new way of working




                                                          13 |   © 2012 IBM Corporation
Group Business Software
(GBS) Transformer
                          14 |   © 2012 IBM Corporation
GBS Transformer 2.0




                            1-click*




             * Most apps will require manual effort on top of Transformer
                                                                15 |   © 2012 IBM Corporation
Coexistence with Notes interface
■   Coexistence with Notes client is likely
     ─ Phased conversions preferred over “big bang” conversions


■   Will Notes and XPages need to update the same document?
     ─ If yes, you need field-level compatibility in both interfaces
     ─ Requires additional testing
     ─ Reuse Notes code where possible
         – Wrap LotusScript write operations

          –   Compute with form


■   Hybrid approaches
     ─ Some users stay in Notes, others use XPages
     ─ Some XPages views open a document in Notes (notes:// links)
     ─ Other XPages views open a document in browser (http:// links)



                                                                       16 |   © 2012 IBM Corporation
Reuse or rewrite LotusScript®?
■   Reuse LotusScript (via agent):
     ─ Maintain 1 code base between Notes client and XPages for extended coexistence period
     ─ Large chunks of backend code
     ─ Field-level compatibility
     ─ New to XPages
     ─ Only for write operations


■   Do not reuse LotusScript:
     ─ Frontend code – rewrite as CSJS or SSJS
     ─ Code that only performs read operations


■   Always consider performance:
     ─ App will now be running on a shared environment vs standalone on desktop
     ─ Minimize calls to agents



                                                                                   17 |   © 2012 IBM Corporation
Unless you have
5 good reasons
you will use the
IBM OneUI
          18 |   © 2012 IBM Corporation
Use it as starting point,
allow your designer to
change anything inside      IBM OneUI
the curly brackets
                            ■   Fully documented
                            ■   Debugged
                            ■   Included with Domino
                            ■   Evolving
                            ■   Consistent
                            ■   Colorful
                            ■   Intuitive
                            ■   Extendible


                                      csszengarden.com

                                                   19 |   © 2012 IBM Corporation
Not Using OneUI?
   ■   Alternative themes
        ─ Corporate standard
        ─ Free ones (frameworks)
        ─ Not-free ones (search for “css admin themes”)
        ─ Use a web designer
   ■   Things to look for in a theme:
        ─ Cross-browser support
        ─ Documentation and working sample pages
        ─ Comprehensive
            – tables, forms, buttons, sections, messages, layout, navigation, menus, help text, error text




                                           Unless you are good at web design,
                                           best to leverage existing assets so
                                            you can focus on function and not
                                               fonts / layouts / colors / etc
A wise man once said...                                                                    20 |   © 2012 IBM Corporation
Code Analysis
■   Generate report of all @formula and LS code in each form and view
■   DXLMagic
■   CoCoMo




                                                                        21 |   © 2012 IBM Corporation
CoCoMo Analysis
■   Know your magnitude
■   Identify large code bases
■   Lines of code can be translated to $$$




                                             22 |   © 2012 IBM Corporation
Preparation

                                                      Releases

                                            Minimum
    Planning           Preparation          Working   Version 1.0   Version 2.0+
                                              App


■   Prepare your Notes app for conversion
     ─ Minimize server impact
     ─ Simplify porting application logic
     ─ Reduce maintenance




                                                                     23 |   © 2012 IBM Corporation
Prepare LotusScript for reuse
■   Refactor backend LotusScript into script libraries
     ─ Functions in backend libraries can be called from XPages via an Agent
     ─ When referencing user name, use NotesSession.EffectiveUserName


■   Use “Option Declare” in all LotusScript
     ─ Reduces variable overhead (undeclared variables are expensive Variants)
     ─ Usually results in code improvements


■   Recompile all LotusScript
     ─ Expose any hidden compile errors




                                                                                 24 |   © 2012 IBM Corporation
■   Separating-out backend code
    into script library

■   XPages can now call this
    function via an agent




                       25 |   © 2012 IBM Corporation
Remove Duplicate Design Elements
■   Mainly form/view/agent copies
■   Use search in IBM Lotus® Domino® Designer to see where an element is
    referenced




                                      The “employeeMyClosedTickets” view is referenced
                                      by a page and outline




                                                                         26 |   © 2012 IBM Corporation
Build

                                                 Releases

                                  Minimum
    Planning      Preparation     Working        Version 1.0   Version 2.0+
                                    App


■   Structure development around 3+ releases
■   Key concerns are addressed in each release
■   Solicit feedback and adjust




                                                                27 |   © 2012 IBM Corporation
Build in 3 releases

           Minimum
           Working                       Version 1.0                  Version 2.0+
             App


■   One completely            ■   Complete application,      ■   Optimize frontend and
    functional “form” and         backend focus                  backend
    “view”                    ■   More: application logic,   ■   Performance
■   Validation                    working UI                 ■   Reduce interaction time
■   Coexistence               ■   Less: optimization,        ■   Look for code reuse
■   Theme, layout,                performance, elegance,
                                  ideal user experience      ■   Mobile
    navigation, look & feel
                              ■   Coexistence                ■   Trend toward MVC
■   Prototyping
                              ■   Easiest approaches         ■   Services
■   Common functions
                              ■   Incremental / hybrid       ■   Sharing
■   Extension Library?
                 Feedback                    Feedback                       Feedback
                                                                               28 |   © 2012 IBM Corporation
Declining effort per application




                                   29 |   © 2012 IBM Corporation
Best Practices




© 2012 IBM Corporation
SSJS vs LotusScript vs Java™
■   SSJS best for:
     ─ Default choice; use unless LotusScript or Java work better
     ─ Controlling application flow; orchestration
     ─ Interacting with the user
■   LotusScript best for:
     ─ Reusing significant chunks of existing backend code
     ─ Never frontend
     ─ Never read operations
     ─ Only if wrapping is less effort than rewriting
■   Java best for:
     ─ Intense processing blocks
     ─ Complex business logic
     ─ Wrapping Java libraries for use by SSJS




                                                                    31 |   © 2012 IBM Corporation
Leverage Community
■   Internal
     ─ Internal repositories / wikis for:
          – Code

          –    Standards
     ─ Discussion forum
     ─ Blogs
     ─ ahem, IBM Connections, ahem


■   External
     ─ xpages.info
     ─ OpenNTF.org
     ─ XSnippets
     ─ XPages forum
     ─ #xpages




                                            32 |   © 2012 IBM Corporation
Styling Content 1




 Avoid setting display attributes for   Instead, apply display attributes
 each individual element                through a style sheet to all elements


                                                                 33 |   © 2012 IBM Corporation
Styling Content 2
                                                                   ■   1. Find the visual
                                                                       element in your theme




http://infolib.lotus.com/resources/oneui/2.1/docPublic/index.htm
                                                                                34 |   © 2012 IBM Corporation
Styling Content 3




2. Copy the HTML




                    3. Apply to XPage and tweak as needed
                                                      35 |   © 2012 IBM Corporation
Styling Content 4




               Result


                        36 |   © 2012 IBM Corporation
Dialogs and Actions
 ■   Problem
      ─ Reproducing Notes actions with user input is
        problematic on the web
 ■   Solution
      ─ Use xe:dialog!


 ■   xe:dialog
      ─ Launch and handle dialog without leaving SSJS
      ─ Dialog is not part of the JSF tree until invoked   SSJS to handle submit
      ─ Dialog content evaluates only when invoked
      ─ Close via SSJS and continue processing




SSJS to open dialog



                                                                                   37 |   © 2012 IBM Corporation
Document Discovery
■   View traversal and search work well in the Notes client
     ─ Quick-find, full-text search, browse by category, keyboard shortcuts
     ─ Consistent across applications
     ─ Understand how your users navigate
     ─ Heavy reliance on keyboard shortcuts?
■   XPages faithfully renders Notes views, but...
     ─ Not the same experience as the Notes client
■   Web may work better with a different approach
     ─ Search/filter, tag clouds, bread crumbs, dynamic sorting
     ─ Think about how you find content in other large systems like discussion forums, bug tracking
       systems, online stores
     ─ How do other web apps in your enterprise work?




                                                                                       38 |   © 2012 IBM Corporation
Search always
                                available
Document Discovery




                                              Filters also help




        Navigate categories
          using tag cloud




                                                           39 |   © 2012 IBM Corporation
Document Interaction
                                 Read          ■   Read and edit
                                                   mode do not
                                                   need to be the
                                                   same XPage



                                        Edit




 ■   Team Room follows the
     OneUI style for forms via
     Extension Library form
     controls

                                                       40 |   © 2012 IBM Corporation
Source Control and Team Development
■   Horizontal development
■   Split along skills
     ─ UI
     ─ Interaction
     ─ Logic / Flow
     ─ Back-end
■   Start 2day
■   Allow for ramp up




                                      41 |   © 2012 IBM Corporation
Tools




© 2012 IBM Corporation
Code Analysis
■   DXLMagic
■   CoCoMo
■   TeamStudio
■   XSLT
■   Visustin
■   DB/2 Pure XML
    (when you look at thousands)




                                   43 |   © 2012 IBM Corporation
PMXC - Poor Mans XPages Conversion
■   Views
■   Forms
■   Roll your own
■   Tools
     ─ XSLT
     ─ Apache ANTTM
     ─ Designer Version Control




                                     44 |   © 2012 IBM Corporation
Large Numbers of Databases




© 2012 IBM Corporation
What if you have large #s of databases?
■   GBS Transformer 2.0
■   Development factory




                                          46 |   © 2012 IBM Corporation
GBS Transformer 2.0



    INVESTIGATE          ANALYZE     CONVERT       BUILD




                                      UI and       Compiles
     Gather key         Detailed
                                     business        final
     info to create   Assessment
                                       logic        XPages
     a prioritized         of
                                    converted to
     list of target   application
                                      XPages
     applications

                                                              47 |   © 2012 IBM Corporation
Use a factory approach




                                     XPages upgrade factory


■   Use the extension library                           ■   Move to higher level components
■   Build your own extension library                          ─ Workflow
                                                              ─ Social enablement
■   Standardize UI artifacts
                                                              ─ Search
■   Single Copy Design                                        ─ Embedded experiences
■   Switch to horizontal development                          ─ Internal systems
      ─ By layer / module                               ■   Look for professional help
      ─ Functionality across applications
                                                                                    48 |   © 2012 IBM Corporation
Standardization




                  !=
                       49 |   © 2012 IBM Corporation
Factory impact




                 50 |   © 2012 IBM Corporation
Questions




            51 |   © 2012 IBM Corporation
Other Sessions
    ■   AD103: Embracing the Eclipse Within
    ■   AD104: IBM Lotus Domino XPages Made Social
    ■   AD106: IBM Lotus Domino XPages anywhere - Write them once, See them
        Everywhere
    ■   BP103: IBM Lotus Domino XPages Blast!



Contact
■   Hunter Medney                           ■   Stephan H Wissel
                                                a.k.a NotesSensei
■   IBM Software Services for Lotus
                                            ■   Presales engineer in Singapore
■   Twitter: @hmedney
                                            ■   Twitter: @notessensei
■   Blog: developWorks (hmedney)
                                            ■   Blog: http://www.wissel.net/
■   Email: hunter_medney@us.ibm.com
                                            ■   Email: notessensei@sg.ibm.com
■   Staffing Meet The Developers lab
                                                                      52 |   © 2012 IBM Corporation
Thank you & fill in your session evaluations!




                                                53 |   © 2012 IBM Corporation
Legal disclaimer
© IBM Corporation 2012. 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.

  All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance
  characteristics may vary by customer.

  IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United
  States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.

  Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.

  Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

  Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.

  Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

  UNIX is a registered trademark of The Open Group in the United States and other countries.

  Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.

  All references to fictitious companies refer to a fictitious company and are used for illustration purposes only.




                                                                                                                                                                                     54 |   © 2012 IBM Corporation

Weitere ähnliche Inhalte

Was ist angesagt?

Whats new in IBM Domino Version 9 Social Edition
Whats new in IBM Domino Version 9 Social EditionWhats new in IBM Domino Version 9 Social Edition
Whats new in IBM Domino Version 9 Social Edition
Novakenstein
 
X pages jumpstart jmp101
X pages jumpstart jmp101X pages jumpstart jmp101
X pages jumpstart jmp101
pdhannan
 
IBM Domino 9.0 Social Edition OpenSocial Component Deployment
IBM Domino 9.0 Social Edition OpenSocial Component DeploymentIBM Domino 9.0 Social Edition OpenSocial Component Deployment
IBM Domino 9.0 Social Edition OpenSocial Component Deployment
Rahul A. Garg
 
Soccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPagesSoccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPages
LetsConnect
 
Mobile Controls for IBM Lotus Domino XPages on OpenNTF 09/10
Mobile Controls for IBM Lotus Domino XPages on OpenNTF 09/10Mobile Controls for IBM Lotus Domino XPages on OpenNTF 09/10
Mobile Controls for IBM Lotus Domino XPages on OpenNTF 09/10
Niklas Heidloff
 
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
John Head
 
What's new in ibm i notes 9.0
What's new in ibm i notes 9.0What's new in ibm i notes 9.0
What's new in ibm i notes 9.0
Ranjit Rai
 

Was ist angesagt? (20)

Whats new in IBM Domino Version 9 Social Edition
Whats new in IBM Domino Version 9 Social EditionWhats new in IBM Domino Version 9 Social Edition
Whats new in IBM Domino Version 9 Social Edition
 
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
 
X pages jumpstart jmp101
X pages jumpstart jmp101X pages jumpstart jmp101
X pages jumpstart jmp101
 
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
 
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...
 
IBM Domino 9.0 Social Edition OpenSocial Component Deployment
IBM Domino 9.0 Social Edition OpenSocial Component DeploymentIBM Domino 9.0 Social Edition OpenSocial Component Deployment
IBM Domino 9.0 Social Edition OpenSocial Component Deployment
 
Soccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPagesSoccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPages
 
What's new in designer
What's new in designerWhat's new in designer
What's new in designer
 
Mobile Controls for IBM Lotus Domino XPages on OpenNTF 09/10
Mobile Controls for IBM Lotus Domino XPages on OpenNTF 09/10Mobile Controls for IBM Lotus Domino XPages on OpenNTF 09/10
Mobile Controls for IBM Lotus Domino XPages on OpenNTF 09/10
 
Portlet factory 101
Portlet factory 101Portlet factory 101
Portlet factory 101
 
AD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And TomorrowAD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And Tomorrow
 
Ad106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting BetterAd106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting Better
 
Gumbo Deck
Gumbo DeckGumbo Deck
Gumbo Deck
 
Lotus Notes 8.5 version to version comparison
Lotus Notes 8.5 version to version comparisonLotus Notes 8.5 version to version comparison
Lotus Notes 8.5 version to version comparison
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
 
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
 
What's new in ibm i notes 9.0
What's new in ibm i notes 9.0What's new in ibm i notes 9.0
What's new in ibm i notes 9.0
 
The Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGThe Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUG
 
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation WikisAD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
 
Ad110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of XpagesAd110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of Xpages
 

Ähnlich wie AD111 - The X Path: Practical guide to taking your IBM Lotus Notes applications to Domino XPages

IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
John Head
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Ryan Baxter
 
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application developmentWe4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT Group
 
Effective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message BrokerEffective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message Broker
Ant Phillips
 
Introducing Ibm Lotus Notes And Domino 85
Introducing Ibm Lotus Notes And Domino 85Introducing Ibm Lotus Notes And Domino 85
Introducing Ibm Lotus Notes And Domino 85
André van der Reep
 
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013
We4IT Group
 
Ibm messaging & collaboration roadmap 2013 (netherlands)
Ibm messaging & collaboration roadmap 2013 (netherlands)Ibm messaging & collaboration roadmap 2013 (netherlands)
Ibm messaging & collaboration roadmap 2013 (netherlands)
e-office bv
 

Ähnlich wie AD111 - The X Path: Practical guide to taking your IBM Lotus Notes applications to Domino XPages (20)

Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
 
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
 
#dd12 IBM Messaging and Collaboration Strategy Update
#dd12 IBM Messaging and Collaboration Strategy Update#dd12 IBM Messaging and Collaboration Strategy Update
#dd12 IBM Messaging and Collaboration Strategy Update
 
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application developmentWe4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
 
Effective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message BrokerEffective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message Broker
 
Lotusphere 2012 - What's new in Lotus Notes & Domino
Lotusphere 2012 - What's new in Lotus Notes & DominoLotusphere 2012 - What's new in Lotus Notes & Domino
Lotusphere 2012 - What's new in Lotus Notes & Domino
 
Lotusphere 2012 - What's next in Lotus Notes & Domino
Lotusphere 2012 - What's next in Lotus Notes & DominoLotusphere 2012 - What's next in Lotus Notes & Domino
Lotusphere 2012 - What's next in Lotus Notes & Domino
 
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyIBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
 
Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages Applications
 
IBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration RoadmapIBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration Roadmap
 
Introducing IBM Lotus Notes and Domino 8.5
Introducing IBM Lotus Notes and Domino 8.5Introducing IBM Lotus Notes and Domino 8.5
Introducing IBM Lotus Notes and Domino 8.5
 
Introducing Ibm Lotus Notes And Domino 85
Introducing Ibm Lotus Notes And Domino 85Introducing Ibm Lotus Notes And Domino 85
Introducing Ibm Lotus Notes And Domino 85
 
JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)
 
ID114 - Wrestling the Snake: Performance Tuning 101
ID114 - Wrestling the Snake: Performance Tuning 101ID114 - Wrestling the Snake: Performance Tuning 101
ID114 - Wrestling the Snake: Performance Tuning 101
 
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013
 
Ibm messaging & collaboration roadmap 2013 (external)
Ibm messaging & collaboration roadmap 2013 (external)Ibm messaging & collaboration roadmap 2013 (external)
Ibm messaging & collaboration roadmap 2013 (external)
 
IBM Messaging and Collaboration Roadmap - Notes and Domino update - December ...
IBM Messaging and Collaboration Roadmap - Notes and Domino update - December ...IBM Messaging and Collaboration Roadmap - Notes and Domino update - December ...
IBM Messaging and Collaboration Roadmap - Notes and Domino update - December ...
 
What's new in iNotes 9.0 Social Edition
What's new in iNotes 9.0 Social EditionWhat's new in iNotes 9.0 Social Edition
What's new in iNotes 9.0 Social Edition
 
Ibm messaging & collaboration roadmap 2013 (netherlands)
Ibm messaging & collaboration roadmap 2013 (netherlands)Ibm messaging & collaboration roadmap 2013 (netherlands)
Ibm messaging & collaboration roadmap 2013 (netherlands)
 

Mehr von Stephan H. Wissel (6)

IBM Connect 2017 - Beyond Domino Designer
IBM Connect 2017 - Beyond Domino DesignerIBM Connect 2017 - Beyond Domino Designer
IBM Connect 2017 - Beyond Domino Designer
 
XPages is Workflow's new best friend
XPages is Workflow's new best friendXPages is Workflow's new best friend
XPages is Workflow's new best friend
 
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
 
The xsp starter kit
The xsp starter kitThe xsp starter kit
The xsp starter kit
 
Paperprototyping
PaperprototypingPaperprototyping
Paperprototyping
 
AD215 - Practical Magic with DXL
AD215 - Practical Magic with DXLAD215 - Practical Magic with DXL
AD215 - Practical Magic with DXL
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

AD111 - The X Path: Practical guide to taking your IBM Lotus Notes applications to Domino XPages

  • 1. AD111: The X Path: Practical Guide to taking your IBM Lotus® Notes® Applications to XPages Hunter R. Medney | X-Man | IBM Stephan H. Wissel | X-Man | IBM © 2012 IBM Corporation
  • 2. Agenda ■ Introduction ■ Conversion Guide (“The X Path”) ■ Best Practices ■ Tools ■ Large #s of Databases 2 | © 2012 IBM Corporation
  • 3. Typical reasons for doing this ■ Web-enable Notes client applications? ■ Remove the Notes client? ■ Facelift applications? ■ Decouple data model from presentation? ■ Mobile enable applications? ■ Pay technical debt*? *http://en.wikipedia.org/wiki/Technical_debt 3 | © 2012 IBM Corporation
  • 4. Why take your Notes client apps to XPages? ■ No data migration ─ Data migration is common point of failure ─ Preserve reader/author field security ■ Incremental migration ─ Keep old app while rolling-out new app in phases ■ Reuse ─ Code ─ Authentication and authorization ■ Skills ─ Notes skills carry-over ■ Enterprise-class platform ─ Domino just works! ─ You wouldn't have so many Notes apps if it didn't! 4 | © 2012 IBM Corporation
  • 5. Conversion Guide © 2012 IBM Corporation
  • 6. Conversion Guide – An Agile Approach Releases Minimum Planning Preparation Working Version 1.0 Version 2.0+ App Key Get your Notes Lay the Functional app Optimize and decisions app ready foundation make it beautiful Higher Lower Quality Risk 6 | © 2012 IBM Corporation
  • 7. Planning Releases Minimum Planning Preparation Working Version 1.0 Version 2.0+ App ■ Key questions that will drive approach and effort 7 | © 2012 IBM Corporation
  • 8. Key Decisions ■ Should the app be converted? ■ Reuse or rewrite LotusScript? ─ Ensure XPages is really needed, then ─ Decide whether app logic will be reused target high visibility, low complexity apps first ■ User interface approach? ■ Behave like the Notes client? ─ Look & feel, branding, navigation ─ Notes-like or web-like user experience? ■ Enhancements? ■ External dependencies? ─ Opportunity to implement new requirements? ─ Microsoft Office / IBM Lotus Symphony™ integration, COM, DLL calls? ■ Testing? ■ Coexistence with Notes interface? ─ Decide how much testing the converted app requires. Coexistence. ─ Increase development and testing time, especially if maintaining field-level ■ Code analysis compatibility ─ Uncover code in forms, subforms and ■ Notes features not supported yet in views that may not be obvious and understand the magnitude of effort XPages? ─ Does your app have signatures, encryption, embedded objects? Deep rich text usage? 8 | © 2012 IBM Corporation
  • 9. Should the app be converted? Avoid conversion if: ■ Standard template or variant thereof ■ Can be migrated to a standard application platform ─ IBM Connections or IBM Quickr® ■ Used only by administrators and developers ■ Already has a functional web UI? (ensure ROI) ■ Is it better suited for archival? 9 | © 2012 IBM Corporation
  • 10. Conversion Sweet Spot Sweet spot 10 | © 2012 IBM Corporation
  • 11. Behave like the Notes client? ? Behave like a Notes app? Behave like a modern web app? 11 | © 2012 IBM Corporation
  • 12. Your user experience can be more than outlines, views, documents and action bars 12 | © 2012 IBM Corporation
  • 13. “Notes-like” vs “web-like” Exciting possibilities! Task-oriented vs document-oriented Notes model is not natural for the web Notes-like can complicate user expectations OneUI is very intuitive (low training) Users resistant to new way of working 13 | © 2012 IBM Corporation
  • 14. Group Business Software (GBS) Transformer 14 | © 2012 IBM Corporation
  • 15. GBS Transformer 2.0 1-click* * Most apps will require manual effort on top of Transformer 15 | © 2012 IBM Corporation
  • 16. Coexistence with Notes interface ■ Coexistence with Notes client is likely ─ Phased conversions preferred over “big bang” conversions ■ Will Notes and XPages need to update the same document? ─ If yes, you need field-level compatibility in both interfaces ─ Requires additional testing ─ Reuse Notes code where possible – Wrap LotusScript write operations – Compute with form ■ Hybrid approaches ─ Some users stay in Notes, others use XPages ─ Some XPages views open a document in Notes (notes:// links) ─ Other XPages views open a document in browser (http:// links) 16 | © 2012 IBM Corporation
  • 17. Reuse or rewrite LotusScript®? ■ Reuse LotusScript (via agent): ─ Maintain 1 code base between Notes client and XPages for extended coexistence period ─ Large chunks of backend code ─ Field-level compatibility ─ New to XPages ─ Only for write operations ■ Do not reuse LotusScript: ─ Frontend code – rewrite as CSJS or SSJS ─ Code that only performs read operations ■ Always consider performance: ─ App will now be running on a shared environment vs standalone on desktop ─ Minimize calls to agents 17 | © 2012 IBM Corporation
  • 18. Unless you have 5 good reasons you will use the IBM OneUI 18 | © 2012 IBM Corporation
  • 19. Use it as starting point, allow your designer to change anything inside IBM OneUI the curly brackets ■ Fully documented ■ Debugged ■ Included with Domino ■ Evolving ■ Consistent ■ Colorful ■ Intuitive ■ Extendible csszengarden.com 19 | © 2012 IBM Corporation
  • 20. Not Using OneUI? ■ Alternative themes ─ Corporate standard ─ Free ones (frameworks) ─ Not-free ones (search for “css admin themes”) ─ Use a web designer ■ Things to look for in a theme: ─ Cross-browser support ─ Documentation and working sample pages ─ Comprehensive – tables, forms, buttons, sections, messages, layout, navigation, menus, help text, error text Unless you are good at web design, best to leverage existing assets so you can focus on function and not fonts / layouts / colors / etc A wise man once said... 20 | © 2012 IBM Corporation
  • 21. Code Analysis ■ Generate report of all @formula and LS code in each form and view ■ DXLMagic ■ CoCoMo 21 | © 2012 IBM Corporation
  • 22. CoCoMo Analysis ■ Know your magnitude ■ Identify large code bases ■ Lines of code can be translated to $$$ 22 | © 2012 IBM Corporation
  • 23. Preparation Releases Minimum Planning Preparation Working Version 1.0 Version 2.0+ App ■ Prepare your Notes app for conversion ─ Minimize server impact ─ Simplify porting application logic ─ Reduce maintenance 23 | © 2012 IBM Corporation
  • 24. Prepare LotusScript for reuse ■ Refactor backend LotusScript into script libraries ─ Functions in backend libraries can be called from XPages via an Agent ─ When referencing user name, use NotesSession.EffectiveUserName ■ Use “Option Declare” in all LotusScript ─ Reduces variable overhead (undeclared variables are expensive Variants) ─ Usually results in code improvements ■ Recompile all LotusScript ─ Expose any hidden compile errors 24 | © 2012 IBM Corporation
  • 25. Separating-out backend code into script library ■ XPages can now call this function via an agent 25 | © 2012 IBM Corporation
  • 26. Remove Duplicate Design Elements ■ Mainly form/view/agent copies ■ Use search in IBM Lotus® Domino® Designer to see where an element is referenced The “employeeMyClosedTickets” view is referenced by a page and outline 26 | © 2012 IBM Corporation
  • 27. Build Releases Minimum Planning Preparation Working Version 1.0 Version 2.0+ App ■ Structure development around 3+ releases ■ Key concerns are addressed in each release ■ Solicit feedback and adjust 27 | © 2012 IBM Corporation
  • 28. Build in 3 releases Minimum Working Version 1.0 Version 2.0+ App ■ One completely ■ Complete application, ■ Optimize frontend and functional “form” and backend focus backend “view” ■ More: application logic, ■ Performance ■ Validation working UI ■ Reduce interaction time ■ Coexistence ■ Less: optimization, ■ Look for code reuse ■ Theme, layout, performance, elegance, ideal user experience ■ Mobile navigation, look & feel ■ Coexistence ■ Trend toward MVC ■ Prototyping ■ Easiest approaches ■ Services ■ Common functions ■ Incremental / hybrid ■ Sharing ■ Extension Library? Feedback Feedback Feedback 28 | © 2012 IBM Corporation
  • 29. Declining effort per application 29 | © 2012 IBM Corporation
  • 30. Best Practices © 2012 IBM Corporation
  • 31. SSJS vs LotusScript vs Java™ ■ SSJS best for: ─ Default choice; use unless LotusScript or Java work better ─ Controlling application flow; orchestration ─ Interacting with the user ■ LotusScript best for: ─ Reusing significant chunks of existing backend code ─ Never frontend ─ Never read operations ─ Only if wrapping is less effort than rewriting ■ Java best for: ─ Intense processing blocks ─ Complex business logic ─ Wrapping Java libraries for use by SSJS 31 | © 2012 IBM Corporation
  • 32. Leverage Community ■ Internal ─ Internal repositories / wikis for: – Code – Standards ─ Discussion forum ─ Blogs ─ ahem, IBM Connections, ahem ■ External ─ xpages.info ─ OpenNTF.org ─ XSnippets ─ XPages forum ─ #xpages 32 | © 2012 IBM Corporation
  • 33. Styling Content 1 Avoid setting display attributes for Instead, apply display attributes each individual element through a style sheet to all elements 33 | © 2012 IBM Corporation
  • 34. Styling Content 2 ■ 1. Find the visual element in your theme http://infolib.lotus.com/resources/oneui/2.1/docPublic/index.htm 34 | © 2012 IBM Corporation
  • 35. Styling Content 3 2. Copy the HTML 3. Apply to XPage and tweak as needed 35 | © 2012 IBM Corporation
  • 36. Styling Content 4 Result 36 | © 2012 IBM Corporation
  • 37. Dialogs and Actions ■ Problem ─ Reproducing Notes actions with user input is problematic on the web ■ Solution ─ Use xe:dialog! ■ xe:dialog ─ Launch and handle dialog without leaving SSJS ─ Dialog is not part of the JSF tree until invoked SSJS to handle submit ─ Dialog content evaluates only when invoked ─ Close via SSJS and continue processing SSJS to open dialog 37 | © 2012 IBM Corporation
  • 38. Document Discovery ■ View traversal and search work well in the Notes client ─ Quick-find, full-text search, browse by category, keyboard shortcuts ─ Consistent across applications ─ Understand how your users navigate ─ Heavy reliance on keyboard shortcuts? ■ XPages faithfully renders Notes views, but... ─ Not the same experience as the Notes client ■ Web may work better with a different approach ─ Search/filter, tag clouds, bread crumbs, dynamic sorting ─ Think about how you find content in other large systems like discussion forums, bug tracking systems, online stores ─ How do other web apps in your enterprise work? 38 | © 2012 IBM Corporation
  • 39. Search always available Document Discovery Filters also help Navigate categories using tag cloud 39 | © 2012 IBM Corporation
  • 40. Document Interaction Read ■ Read and edit mode do not need to be the same XPage Edit ■ Team Room follows the OneUI style for forms via Extension Library form controls 40 | © 2012 IBM Corporation
  • 41. Source Control and Team Development ■ Horizontal development ■ Split along skills ─ UI ─ Interaction ─ Logic / Flow ─ Back-end ■ Start 2day ■ Allow for ramp up 41 | © 2012 IBM Corporation
  • 42. Tools © 2012 IBM Corporation
  • 43. Code Analysis ■ DXLMagic ■ CoCoMo ■ TeamStudio ■ XSLT ■ Visustin ■ DB/2 Pure XML (when you look at thousands) 43 | © 2012 IBM Corporation
  • 44. PMXC - Poor Mans XPages Conversion ■ Views ■ Forms ■ Roll your own ■ Tools ─ XSLT ─ Apache ANTTM ─ Designer Version Control 44 | © 2012 IBM Corporation
  • 45. Large Numbers of Databases © 2012 IBM Corporation
  • 46. What if you have large #s of databases? ■ GBS Transformer 2.0 ■ Development factory 46 | © 2012 IBM Corporation
  • 47. GBS Transformer 2.0 INVESTIGATE ANALYZE CONVERT BUILD UI and Compiles Gather key Detailed business final info to create Assessment logic XPages a prioritized of converted to list of target application XPages applications 47 | © 2012 IBM Corporation
  • 48. Use a factory approach XPages upgrade factory ■ Use the extension library ■ Move to higher level components ■ Build your own extension library ─ Workflow ─ Social enablement ■ Standardize UI artifacts ─ Search ■ Single Copy Design ─ Embedded experiences ■ Switch to horizontal development ─ Internal systems ─ By layer / module ■ Look for professional help ─ Functionality across applications 48 | © 2012 IBM Corporation
  • 49. Standardization != 49 | © 2012 IBM Corporation
  • 50. Factory impact 50 | © 2012 IBM Corporation
  • 51. Questions 51 | © 2012 IBM Corporation
  • 52. Other Sessions ■ AD103: Embracing the Eclipse Within ■ AD104: IBM Lotus Domino XPages Made Social ■ AD106: IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere ■ BP103: IBM Lotus Domino XPages Blast! Contact ■ Hunter Medney ■ Stephan H Wissel a.k.a NotesSensei ■ IBM Software Services for Lotus ■ Presales engineer in Singapore ■ Twitter: @hmedney ■ Twitter: @notessensei ■ Blog: developWorks (hmedney) ■ Blog: http://www.wissel.net/ ■ Email: hunter_medney@us.ibm.com ■ Email: notessensei@sg.ibm.com ■ Staffing Meet The Developers lab 52 | © 2012 IBM Corporation
  • 53. Thank you & fill in your session evaluations! 53 | © 2012 IBM Corporation
  • 54. Legal disclaimer © IBM Corporation 2012. 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. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both. Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both. Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. UNIX is a registered trademark of The Open Group in the United States and other countries. Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others. All references to fictitious companies refer to a fictitious company and are used for illustration purposes only. 54 | © 2012 IBM Corporation