ad106 - xpages just keep getting better

33
AD106: XPages Just Keep Getting Better Philippe Riand | XPages Lead Architect Eamon Muldoon | XPages Development Manager

Upload: ddrschiw

Post on 28-Nov-2014

1.703 views

Category:

Technology


1 download

DESCRIPTION

Last year at Lotusphere, XPages burst onto the Lotus Domino application development landscape. Since then, the developer community has embraced XPages and delivered compelling Lotus Domino Web solutions. 8.5.1 delivered on the vision by providing the ability to build an application once for the Web, the Notes client or expose as an iWidget.Come hear about other 8.5.1 enhancements, what is coming in 8.5.2 and glimpse towards the future.

TRANSCRIPT

Page 1: Ad106 - XPages Just Keep Getting Better

AD106: XPages Just Keep Getting BetterPhilippe Riand | XPages Lead ArchitectEamon Muldoon | XPages Development Manager

Page 2: Ad106 - XPages Just Keep Getting Better

2

Finance Disclaimer● 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 for 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 functionality described for our products remains at our sole discretion

Page 3: Ad106 - XPages Just Keep Getting Better

3

Agenda● Introduction

● What's new in XPages 8.5.1

● What you'll see in the next release

● A Glimpse to the future

● Resources and wrap-up

Page 4: Ad106 - XPages Just Keep Getting Better

4

IBM Lotus® Domino®Application Development Values● Long standing Domino application development values

▬ Develop easy-to-use, security rich, applications that are robust and scalable▬ Integrate and leverage existing applications, data, content and systems▬ Quickly respond to changing business needs

● 8.5 XPages value add▬ Allow developers to build attractive, modern web apps that leverage Web 2.0

technologies with less work▬ Provide means to incrementally update existing Domino Web applications▬ Attract new developers to the platform

Page 5: Ad106 - XPages Just Keep Getting Better

5

Continue To Deliver The XPages Vision● Develop easy-to-use security rich applications that are robust

and scalable▬ Build once for universal client access to collaborative applications

▬ Harness the power of Web 2.0 from both browser or Lotus Notes® client for both online and offline productivity

▬ Leverage active content filtering to prevent malicious code▬ Enterprise ready with performance & scalability enhancements

● Integrate and leverage existing applications, data, content and systems

▬ Improve reuse of Domino data and development artifacts through use of components/iWidgets

● Allow developers to build attractive, modern web apps that leverage Web 2.0 technologies with less work

▬ Predefined Ajax behaviors and controls▬ Leveraging the Dojo library

Page 6: Ad106 - XPages Just Keep Getting Better

6

XPages Continues Its Way!

2010

2009

• - First release of XPages• - Runs on the Domino

server

Domino 8.5

Notes/Domino 8.5.1• - Runs within the Notes client• - Generates iWidget• - Active Content Filtering• - Performance/scalability improvements

Later...

• - Stability/performance improvements

• - Better client integration• - Fixing pending issues/requests

• - Extensibility

Notes/Domino 8.5.x

Notes/Domino next• - XPages next generation

• - Consumes/generates REST services

• - Generates Dojo based UI• - Advanced set of Web controls

• - Full client integration• - Mobile devices support• - Integration with other Lotus products

• - Quickr, Connections, Sametime

• - More data sources (RDBMS...)• - iWidget consumption

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 for 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 functionality described for our products remains at our sole discretion

Page 7: Ad106 - XPages Just Keep Getting Better

7

Agenda● Introduction

● What's new in XPages 8.5.1

● What you'll see in the next release

● A Glimpse to the future

● Resources and wrap-up

Page 8: Ad106 - XPages Just Keep Getting Better

8

XPages on the Notes Client● Enable Notes/Domino users to run XPages web apps offline

▬ Deliver the same UI experience running locally in Notes client▬ Take advantage of Notes/Domino NSF replication capabilities

● Support XPages on all client platforms▬ Windows, MAC, LINUX

● Innovate & Integrate where practical, e.g.▬ Leverage the client composite application model▬ Integrate with Notes client workspace features as makes sense

● Provide a secure runtime environment for XPages client apps▬ Leverage client Execution Control Lists (ECLs)▬ Make it secure through a JavaTM security manager synchronized with the ECLs

Page 9: Ad106 - XPages Just Keep Getting Better

9

XPages on the Client - Architecture● Similar to the server/web architecture

Web Container

XPages Runtime

Notes Client

XPages UI Container

Embedded XUL Runner

NSF apps have a new XPages client launch optionWhen app is opened, this URL is passed to XPages client containerThe container further transforms the URL ...

•Creates a instance of the XULRunner browser•Sends a secure request to client web container

The web container routes all XSP requests to the XPages runtimeXPages runtime renders pages back to the XULRunner browser

In Short

NSF design elements (XSP, Java class files…) are made available as module resources to the servlet API.

Each NSF can be projected as an auto-deployed Web Module.

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

XPages requests sent to an embedded Java Web container

Page 10: Ad106 - XPages Just Keep Getting Better

10

XPages on the Client - Demo

Page 11: Ad106 - XPages Just Keep Getting Better

11

Performance Improvements● New properties to better control the JSF life cycle

▬ Partial refresh optimized (only rendering the desired controls)▬ Partial execution of the page

▬ Used as a default option to the pager

● Runtime optimization▬ XPages runtime▬ JavaScript interpreter performance

▬ Engine optimization▬ Global JS variables no longer kept in memory

● End user experience / browser rendering▬ Less files (JavaScript & CSS) downloaded▬ Better compressed files

Page 12: Ad106 - XPages Just Keep Getting Better

12

Scalability● Memory usage

▬ JSF libraries optimized to minimize the information held in memory▬ View data cache

● JSF View persistence – New options▬ No persistence

▬ Persistence can be disabled when not needed▬ In memory – default in 8.5 & 8.5.1

▬ Consumed memory decreased by x2.5▬ On disk

▬ Pages are serialized to disk, thus increasing the number of concurrent users.▬ Can be a mix between memory and disk

Page 13: Ad106 - XPages Just Keep Getting Better

13

Improved Developer Experience● Dojo enhancements

▬ New Dojo release (1.3.2)▬ Support for IE8, Firefox 3.5, Safari 4▬ Bug fixes & performance enhancements

▬ New Dojo related properties▬ Ease the use of dojoType & dojo specific attributes

▬ Available to xp:panel, xp:div, xp:span...

● JavaScript engine▬ Better support of ECMA 262 specification▬ Better use of the security manager

Page 14: Ad106 - XPages Just Keep Getting Better

14

Active Content Filtering● Goal

▬ HTML, and particularly from Rich Text fields, can carry malicious code that executes unwanted operations on the behalf of the user accessing the page

▬ JavaScript snippets embedded within the HTML▬ “href” pointing a REST action▬ ...

▬ Example: Blog entry▬ One can add a reply to a blog entry, that will be read by the blog owner and execute

malicious code on his behalf

● XPages solution▬ Removing malicious code from HTML by applying a filter▬ Filters can be applied on requests and/or responses

Page 15: Ad106 - XPages Just Keep Getting Better

15

Active Content Filtering Demo

Dirty HTML Clean HTML

Page 16: Ad106 - XPages Just Keep Getting Better

16

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 Domino Designer

Page 17: Ad106 - XPages Just Keep Getting Better

17

High Level Architecture

Proxy server

Application Database - XPages - Components

Domino iWidget renderedin an iFrame

Lotus Mashup Server Domino Server

XPages Renderer

iWidget ServletWidget Catalog

● Lotus Mashup and the Domino Server don’t have to run on the same machine

● The Domino server serves the iWidget definitions and the XPages markup

● The iWidget servlet composes the widget.xml “on the fly”● XPages content is served by the regular XPages runtime

● The Lotus Mashup proxy server is used whenever necessary● Uses HTML 5 extensions when available (FF3, IE8...),

else uses the proxy

Page 18: Ad106 - XPages Just Keep Getting Better

18

Lotus Mashup Demo

Page 19: Ad106 - XPages Just Keep Getting Better

19

Other Enhancements● Modified flag with save confirmation when a window is closed● Client side simple actions● EventHandler: onStart, onComplete, onError for Ajax notifications● New options for Localization● Controls

▬ Hidden field control▬ Multiple value input field▬ Tab link▬ New “Link” resources that goes to the <head> part

● Lot of bug fixes and little enhancements

Page 20: Ad106 - XPages Just Keep Getting Better

20

Agenda● Introduction

● What's new in XPages 8.5.1

● What you'll see in the next release

● A Glimpse to the future

● Resources and wrap-up

Page 21: Ad106 - XPages Just Keep Getting Better

21

XPages Runtime in Notes/Domino● Performance and scalability improvements

▬ Shared design elements▬ Better handling parallel requests – reducing server contentions▬ Tag cloud performance

● Stability / robustness▬ SPR fixes

● Extended Client Integration▬ Support for multiple tabs

● New Back-end classes capability▬ Running agents on top of in-memory documents▬ Support for multiple levels of categorization

● Controls enhancements▬ Use of the CKEditor for Rich text editing

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 for 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 functionality described for our products remains at our sole discretion

Page 22: Ad106 - XPages Just Keep Getting Better

22

Extensibility APIs● 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

We welcome you toAD110 Unleash the Power of XPages

We'll be presenting the API in details

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 for 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 functionality described for our products remains at our sole discretion

Page 23: Ad106 - XPages Just Keep Getting Better

23

XPages Editor Usability Improvements● Design time rendering

▬ Improved theme setting and rendering▬ Improved style rendering▬ Improved repeat rendering

● Extended controls support▬ Analyze property use on “All Properties” and promote frequently used properties to the

“pretty panels”▬ Checkbox/Radio button group control

● Palettes enhancements▬ Palette drop to source mode▬ Better Notes data type handling – rich text, date, time▬ Data palette improvements

▬ Change order of controls

● And more...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 for 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 functionality described for our products remains at our sole discretion

Page 24: Ad106 - XPages Just Keep Getting Better

24

Agenda● Introduction

● What's new in XPages 8.5.1

● What you'll see in the next release

● A Glimpse to the future

● Resources and wrap-up

Page 25: Ad106 - XPages Just Keep Getting Better

25

A Glimpse to the Future● XPages is strategic for Notes/Domino

▬ We continue to invest on this technology

● This is not a commitment on the new features being developed▬ This shows the direction we are taking▬ This is provided as information to keep you updated and get your feedback

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 for 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 functionality described for our products remains at our sole discretion

Page 26: Ad106 - XPages Just Keep Getting Better

26

XPages Next Generation● XPages stateless mode

▬ Generates HTML without the server side life cycle▬ Rich HTML interfaces – Dojo dijits

▬ Still leverages XPages strengths▬ Component/renderkit model, Page composition, Localization, i18n, Security,

Dynamic page generation, Simple actions, Script languages for business logic…

● XPages embraces REST services▬ Generated UI bind to data coming from REST services

▬ Existing or custom services▬ Should be able to easily produce REST services

▬ On both the Domino server and the Notes client, using the available Web container

▬ Extend existing services with custom business logic

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 for 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 functionality described for our products remains at our sole discretion

Page 27: Ad106 - XPages Just Keep Getting Better

27

Advanced Dojo Based Controls

Scrollable Grid

Dynamic Tooltips

Popup Dialogs

Calendar ControlTag Cloud

Dynamic OutlineThe 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 for 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 functionality described for our products remains at our sole discretion

Page 28: Ad106 - XPages Just Keep Getting Better

28

And also...● Better Client integration

▬ Contributing to menubar, toolbars▬ Handling Eclipse selection▬ Native Rich text edition

● Improving the reuse of existing assets▬ LotusScript libraries, existing design elements (forms, views...)

● Data sources▬ Relational data access

● Mobile devices support▬ Detecting the devices, dedicated themes, accessing the device capability...

● Integration with other products in the portfolio▬ Sametime, Connections...

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 for 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 functionality described for our products remains at our sole discretion

Page 29: Ad106 - XPages Just Keep Getting Better

29

Agenda● Introduction

● What's new in XPages 8.5.1

● What you'll see in the next release

● A Glimpse to the future

● Resources and wrap-up

Page 30: Ad106 - XPages Just Keep Getting Better

30

Resources● Lotus Domino Designer wiki

▬ http://www.lotus.com/ldd/ddwiki.nsfpowered by XPages!

● OpenNTF – Open source developer community ● Planet Lotus – Aggregation of Lotus related blogs. Lots of

Domino app dev related posts▬ planetlotus.org

● XPages blog: http://xpagesblog.com/● IBM DeveloperWorks

Page 31: Ad106 - XPages Just Keep Getting Better

31

XPages Related Sessions to Not MissDescription Speakers

AD107 Enhance Your Existing Applications with XPages Steve CastledineStephan Wissel

AD108 XPages in the IBM Lotus Notes Client - A Deep Dive! Martin DonnellyTeresa Monahan

AD109 XPages Performance and Scalability Mark GarganTony McGuckin

AD110 Unleash the Power of XPages Philippe RiandMaire Kehoe

AD111 Harnessing the Power of Server-Side JavaScript and Other Advanced XPage Techniques

Tim TripconyStephan Wissel

BP207 Make Your XPage Apps "Pop!" with CSS and Themes Declan LynchDavid Leedy

SHOW112 How to Build an XPages Application from Start to Finish Tim ClarkMatt White

JMP101 IBM Lotus Domino Designer 101 Dan O'ConnorIshfak Bhagat

Page 32: Ad106 - XPages Just Keep Getting Better

32

Q&A – Your Turn!

Page 33: Ad106 - XPages Just Keep Getting Better

33

Legal Disclaimer© IBM Corporation 2009. 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.

BM, 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.

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

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 Renovations refer to a fictitious company and are used for illustration purposes only.