Quickr Template Customization Quickr J2Ee Architecture by tzm53010


More Info
									XPages and IBM Lotus Domino Designer
Revolutionizing Lotus Domino Web
Application Development
Claude Cossette | Sr. Lotus IT Specialist
What We’ll Cover …
 ●   Domino as an application development platform
 ●   The revolution made through an evolution
 ●   Deep dive into XPages
 ●   Domino encounters Lotus Mashups
 ●   IBM deployment use case: the developerWorks wikis
 ●   Chat with Philippe Riand, XPages Architect
 ●   Wrap-up

Domino Applications
Proven in Production with 20 years of experience
   ●   Proven in production (20 years)         ●   Comprehensive and open
                                                   development environment
   ●   Security built in, not bolted on
                                               ●   GUI-driven, point-and-click
   ●   Long Lasting Applications                   capabilities
   ●   Application Compatibility               ●   Supplied templates require
                                                   no coding
                                               ●   Support for developers at every
                                                   skill level—Lotus, Java™ and
                                                   Eclipse software
                                               ●   Centralized administration for
                                                   quick deployment
                                               ●   Component reuse
   ●   “By the time the specification is           saves time
       written in another Language, the
       application is written and
       deployed in Notes / Domino”

Core Business Applications on Lotus
Notes and Domino
                         Team / Community Discussion Forums
Thousands of         ●   Document Storage and Collaboration
around the
                     ●   Customer Relationship Management
globe, from large    ●   Help Desk / Customer Support
enterprises to
                         Human Resources
small local          ●
                         Billing Systems
shops, trust their
core business
                     ●   Inventory Management / Supply Chain Tracking
applications to      ●   Project Management
Lotus Notes and
                     ●   Sales Force Automation
                         Product Catalogs / Price Lists
                         Compliancy Tracking, Audit and Assessment

Serving Up Applications to the Web
●   Yes, we made it easy to provide browser-based access to your
    applications, but they often looked like this:

Lotus Domino 8.5 Application
Development Themes
●   Provide developers with a modern development tool IDE
     ●   Do for developers what Lotus Notes 8 did for end users
           ●  Improve usability and productivity
           ● Address various developer pain points from previous versions

     ●   Attract new developers to the platform

●   Make building compelling Web applications easy
     ●   Allow developers to build attractive, modern Web apps that leverage Web
         2.0 technologies with less work
     ●   Seamlessly target a wide range of clients while taking advantage of their
     ●   Provide means to update existing Lotus Domino Web applications

The 8.5 Answer: Revolution Thru Evolution
●   Remaining true to our core value – RAD
●   Modern IDE built on Eclipse
     ▬   Increased customization, extensible framework
     ▬   Platform services for navigation, search and editing
     ▬   Goal: comfortable for existing users, approachable by new users
●   New design elements for building compelling Web and Client apps
     ▬   XPages and Custom Controls
           ▬ Designed for developing Web 2.0 applications

               ● Modern Web controls
               ● Built-in Ajax services
               ● Server side JavaScript
               ● Styled with standard CSS
     ▬   Themes easily define an application’s look and feel
     ▬   Server JavaScript libraries

XPages: Same Source – Multiple Renderings
     Java™ + JSF + JavaScript +HTML/CSS + Dojo
                          iWidgets   Lotus Notes Client
                                                          Mobile Devices

    Web 2.0

 Lotus Domino Designer:
 Lotus Notes & Eclipse

The New Discussion Database



Compelling Web 2.0 User Experience with
Lotus Domino 8.5


                                      Discussion 8.5
                                     XPage showcase
                                       Compelling UI
                                     Quick to Customize
    Faster                            Easy to Deploy

XPages Value Proposition
 ●   Provide a better Web development experience to Lotus Domino
      ●   Can be used to incrementally enhance an existing application or write a
          brand new one
      ●   Fully integrated within Lotus Domino Designer
      ●   Decreases the time for writing Web Applications

 ●   Solves problems expressed by the Lotus Domino community
      ●   Known limitations are addressed
            ●   UI/Data separation, HTML generation control, Server state,
                Localization, Extensibility, …

 ●   Fully integrated within the Lotus Domino Web server

Leverages Lotus Domino/Web Developer
Skills as well as existing assets
●   Leverages the existing design elements (Forms, Views, … )
     ●   Forms carry the document schema (data definition) and some business
         logic (computed fields, … )
     ●   Views used to query the Lotus Domino store
     ●   Agents can be called using the back-end API
●   JavaScript is used as the main scripting language
     ●   JavaScript used on the client and on the server
     ●   Simple actions are also provided for common tasks
●   Leverages and exposes the back-end API
     ●   JavaScript accessors on top of the Java back-end API
     ●   JavaScript has been extended to support @Functions()

Lotus Domino Server Architecture
       Client Request
                                Domino HTTP Server

                                 XPages Servlet Engine       2.4 servlet engine

                                                                     Virtual J2EE modules
                                                                     No WAR deployment

   T he server directly reads
   the design elements from
   the NSF database

                                      NSF database containing the design
                                      elements & the data

Lotus Notes Client Architecture - 8.5.1
●   How it works – pretty much the same as on the server :-)

                                     Lotus Notes Client                                    XPages requests sent
                                                                                           to an embedded Java
                                                                          Web Container    Web container
            Embedded XUL Runner

                                                                                           The XPages runtime
             XPages UI Container                                                           inserts as a generic web
                                                                          XPages Runtime   module and provides a
                                                                                           virtual container for NSFs

                                                                                            Each NSF can be
     In Short                                                                               projected as an auto-
      NSF apps have a new XPages client launch option                                      deployed Web Module.
     When app is opened, this URL is passed to XPages client container
     The container further transforms the URL ...
                                                                                            NSF design elements
           •Creates a instance of the XULRunner browser                                     (XSP, Java class files…)
           •Sends a secure request to client web container                                  are made available as
     The web container routes all XSP requests to the XPages runtime                       module resources to the
     XPages runtime renders pages back to the XULRunner browser                            servlet API.

Lotus Domino iWidget
 ●   Being able to run any XPage as an iWidget
      ●   A developer just needs to register the XPage as an iWidget
      ●   No changes are requested to the page
      ●   Add some entry in the Lotus Mashup catalog
      ●   Share the artifacts with the Rich Client
 ●   Incrementally add iWidget related behaviors
      ●   Event Publishing/Handling
      ●   Component parameters
      ●   Support for modes (view, edit, help...)
 ●   Make the user experience easy through Lotus Domino Designer
 ●   Execute in different containers
      ● IBM Mashups Center, IBM W ebsphere® Portal...

Complete Control of the Rendering
●   Look and Feel is driven uniquely by CSS
●Full support for CSS classes or inline styles
●Uses CSS file resources

●   Support Themes for skinning an application
●Predefined styles for controls
●A theme can be defined locally, in an NSF, or globally
●2 themes provided out of the box

●   HTML tags/attributes can be embedded within XPages

Enables Enterprise Scale Applications
●   Extensible architecture
●Custom controls
●An XPage can call any Java code/library
●XPages Extensibility API makes it limitless
●   Extended data access capability
●Applications can access data located in multiple NSF databases
●Multiple documents/views can be displayed on the same page
●   Built-in localization and internationalization support
●Support String localization and dedicated pages per locale
●Automatic support for user time zone

Logic for Your XPage
●   The “official” language for XPages is JavaScript
●JavaScript runs on client or server (or both — your choice!)
●JavaScript can call any Java code

●JSF Managed beans are also available for maximum flexibility

●   Simple actions available for common operations
●   (Almost) every property is computable!
●Labels, column titles, visibility, style, …
●   Rich event model

●   Ajax behaviors
●Built in in some cases (typeahead, pager)
 Easy to build on your own with simple event properties
Custom Controls
●   Composite controls
●Parameterizable sub-forms            Control is like a page
●Controls made by assembling

existing controls
●Behave exactly as native controls

●Appear in the Control palette

●Define their own set of properties

●Hierarchical with custom editors

                                                   Control added to a page
         Extensibility APIs - 8.5.2
                Let people create deployable XPages libraries
            ▬ Deployed as Eclipse plugins in the Notes Client and the Domino Server
            ▬Shared by all the applications!
            ▬Controls, Render kits, Data sources, Simple actions, Servlets, Request customizers...

            ▬ Common Custom controls shared in jar files
                Make public the XPages Java APIs
            ▬ Javadoc, articles and samples
            ▬ Open source library of controls shared on openNTF

The information on the new product is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information on the new product is f or
informational purposes only and may not be incorporated into any contract. The information on the new product is not a commitment, promise, or legal obligation to deliver any material, code or
functionality. The development, release, and timing of any features or f unctionality described for our products remains at our sole discretion

CKEditor - 8.5.2
    Default XPages Rich Text Editor
Domino Server + Notes Client (Windows, MacOS, Linux)

    Added Features:
▬Embedded Images, Tables, Links, Emoticons, Maximize,
    CKEditor Toolbar is customizable
Slim, Medium, Large

Deployment Use case
 IBM Drinks Its Own Champagne

    Lotus Product Wikis Overview
    Product wikis for all Lotus and IBM
    W ebSphere® Portal products
    Live on the Internet, open to all customers
    and users
     ▬   Visit www.lotus.com/ldd/wikis
    Added first wiki for IBM Lotus® Notes®
    and Lotus Domino in December 2007
    Additional wikis added in 2008                            Wiki listing

    Current content includes supplemental                     IBM Composite Applications   IBM Lotus Notes

    technical content and IBM Redbooks®                       IBM LotusLive™
                                                              IBM Mashup Center
                                                                                           IBM Lotus Notes Traveler
                                                                                           IBM Lotus® Quickr
                                                              IBM Lotus® ActiveInsight®    IBM Lotus® Sametime®
    Plan is to use wikis for official product                 Lotus Connections
                                                              Lotus Domino
                                                                                           IBM Lotus® Symphony
                                                                                           IBM Lotus® Web Content
                                                              IBM Lotus Domino Designer    Management
    documentation                                             Lotus Expeditor              IBM Lotus® Workforce
                                                              IBM Lotus® Forms             Management
     ▬   IBM Lotus® Expeditor, IBM Lotus® Foundations, IBM    Lotus Foundations            IBM WebSphere Dashboard
                                                              IBM Lotus® iNotes®           Framework
         Mashup Center already publish product doc to wikis   IBM Lotus® Mobile Connect    WebSphere Portal
                                                                                           IBM WebSphere® Portlet Factory

Lotus Domino infrastructure
    Live Internet-facing Lotus Domino
    Part of IBM developerW orks Lotus
    W eb site
    Hosts Lotus product forums, wikis,
    blogs, Lotus Notes and Lotus Domino
    fix list, etc.
    Averages 374,000 unique visitors per
    Averages 3.1 million page views per

    Benefits of XPages for wikis
    Rich text handling streamlined
     ▬   Separation between Web presentation and content storage
     ▬   No MIME conversion as done in the blog template
                                                                                 Image: Mike
    Markup language                                                              McGarel

     ▬   Fosters common formatting language between Lotus Notes and Web browser editing
     ▬   Markup uses WikiCreole format, same as Wikis feature in Lotus Connections
    Document editing performance improved
     ▬   Processing agents from blog template no longer necessary
    Upgraded Dojo editor
     ▬   Uses Dojo editor from standard Lotus Domino installation
     ▬   Potential for other rich text editor options down the road

    Benefits of XPages for wikis, cont.
    IBM Lotus “OneUI” style sheets
     ▬   Common look and feel shared by current Lotus product set
     ▬   Web accessibility covered globally and consistently
                                                                                       Image: Mike
    Common controls and components                                                     McGarel

     ▬   XPages provides multiple reusable core controls
     ▬   Standard discussion template from Lotus Domino 8.5.x provides components such as
         tag cloud and search
    Active content filtering
     ▬   Protects against malicious code content in wiki articles
     ▬   Set at server level via properties file and tied to XPages applications and controls
    Backwards compatibility
     ▬   Provides new Web presentation along with standard Notes forms and views
     ▬   XPages template applied to 20 live production databases with no service disruption

XPages Wiki template on OpenNTF
              XPages wiki template shared for no-charge
              download on OpenNTF (www.openntf.org)
              Template is base for further customization
              for Lotus product documentation wikis
              W orking with development to incorporate
              our customization work
              Visit www.openntf.org/Projects/pmt.nsf/
              ProjectLookup/XPages%20W iki

Some Partner Products/

●   Business Challenges
▬Capitalize employee knowledge
▬Help departments develop and

manage communities of practice.
▬Improve help and support/service

desk operations.
▬Develop self sustaining FAQs .

    Benefits Delivered
▬Intuitive knowledge management

▬Integrated into their day-to-day applications

▬Access from mobile devices

To Elguji

▬RAD Web 2.0 framework for building collaborative
●Build application assets with less effort

●Maximize reuse of assets

 "XPages have allowed me to deliver classic Notes database
 applications to the iPhone without having to change the
 template. I can simply create one database with an X-page, and
 it will connect to the database that is appropriate for the
 particular user - even if the other database is on different
 server. "
 Mark Hughes - HughesConnect.com

 Challenge: How to provide great online support for
▬Discussion forum, solutions, idea voting, news, FAQs, downloads,
documentation – all in one place?
 Solution: ServiceCommunicator provides everything
you need to provide best possible online support. In
one place.
▬All-in-one solution, SAAS or installable, easy to setup and maintain via
Browser, easy to use for customers, highly customizable.
 Benefits: No need to develop, setup and maintain all
those support features by yourself.
Saves time and money.

You can focus on serving customers instead of maintaining support features.
IBM Software Services for Lotus (ISSL) Lotus Notes Domino Solutions
 Technical consulting offerings                                        Training and certification
 ISSL can help customers make the most of Notes and Lotus              • Introduction to IBM Lotus Domino 8.5 XPages – New
 Domino by enhancing out-of-the-box functionality. Projects where         (D8L55)
 ISSL can assist include:                                              • Fundamentals of IBM Lotus Domino 8 Application
   • Lotus Domino application modernization using X-pages                 Development (D8510)
   • Web-enable Lotus Domino applications
                                                                       • Building Web Applications for IBM Lotus Domino
   • Develop a plan to upgrade current Notes applications to
                                                                          Designer 8 (D8520)
      leverage the new capabilities of composite applications
   • Test and migrate applications created in earlier versions of
                                                                       • Developing IBM Lotus Domino 8 Applications:
      Lotus Notes to Lotus Notes 8.x                                      Intermediate Skills (D8530)
   • Build custom solutions that maximize customer ROI in Lotus        • Creating IBM Lotus Domino Web Services Using
      Notes and Domino, and leverage an onshore/off-shore                 Lotus Script (Online) (D8625)
      model to remain price-competitive                                • Developing Composite Applications for IBM Lotus
                                                                          Notes 8 (D8550)
 ISSL ASSET: Automated Database Deployment for Lotus Notes             • Developing Composite Applications for IBM Lotus
 (ADD4LN) is a Lotus Notes solution used to deploy, manage, and           Notes 8 - Online (D8555)
 track Notes databases.                                                • Using LotusScript in IBM Lotus Notes Domino 8
                                                                          Applications (Exam 803)
                                                                       • Using Javascript in IBM Lotus Notes Domino 8
 Premium services                                                         Applications (Exam 804)
 For Lotus Notes and Domino 8.x customers, Premium Support             • Using Web Services in IBM Lotus Domino 8
 can help increase self-sufficiency and avoid issues by providing         Applications (Exam 805)
 technical expertise, proactive support from an assigned specialist,   • IBM Lotus Notes Domino 8 Developing Composite
 best practice methodologies, and programmatic knowledge                  Applications (Exam 838)

                                                                       For more info: www.ibm.com/software/lotus/services

                               34                                                                                           34
My challenge for you:
    Build an XPages application
    Present it at the next TLUG

    IBM DeveloperWorks®
    Lotus Domino Designer wiki
    OpenNTF – Open source developer community

    Planet Lotus – Aggregation of Lotus related blogs. Lots of good
    Lotus Domino application development related posts
    XPages blog: http://xpagesblog.com/

8 Key Points to Take Home
    XPages remove current pain points for Lotus Domino W eb developers
    Separation of UI and data means data from multiple sources can be
    presented in a single UI
    Leverage simple actions and JavaScript for business logic
    Use Ajax to improve your end-user experience
    Custom Controls improves productivity and maintainability
    Themes provide a way to easily change the look and feel of your
    The revolution starts with Lotus Domino Designer 8.5, and the future
    looks bright
    Reuse your existing skills yet get on the javascript bandwagon

Your Turn!

                 How to contact me:
        Claude Cossette: ccossett@ca.ibm.com

Legal Disclaimer
 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 publication 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.

 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, WebSphere, DeveloperWorks, Workplace and Lotusphere are trademarks of International
 Business Machines Corporation in the United States, other countries, or both.

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

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

 Other company, product, or service names may be trademarks or service marks of others.


To top