Successfully reported this slideshow.
Your SlideShare is downloading. ×

Ad106 - XPages Just Keep Getting Better

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 33 Ad

Ad106 - XPages Just Keep Getting Better

Download to read offline

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.

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.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to Ad106 - XPages Just Keep Getting Better (20)

Advertisement

More from ddrschiw (17)

Recently uploaded (20)

Advertisement

Ad106 - XPages Just Keep Getting Better

  1. 1. AD106: XPages Just Keep Getting Better Philippe Riand | XPages Lead Architect Eamon Muldoon | XPages Development Manager
  2. 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 2
  3. 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 3
  4. 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 4
  5. 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 5
  6. 6. XPages Continues Its Way! Later... Notes/Domino next • - XPages next generation 2010 • - Consumes/generates REST services • - Generates Dojo based UI Notes/Domino 8.5.x 2009 • - Advanced set of Web controls • - Full client integration Notes/Domino 8.5.1 • - Stability/performance • - Mobile devices support • - Runs within the Notes client improvements • - Integration with other Lotus Domino 8.5 • - Generates iWidget • - Better client integration products • - Fixing pending • - Quickr, Connections, • - First release of XPages • - Active Content Filtering • - Runs on the Domino • - Performance/scalability issues/requests Sametime server • - Extensibility • - More data sources (RDBMS...) improvements • - 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 6
  7. 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 7
  8. 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 8
  9. 9. XPages on the Client - Architecture ● Similar to the server/web architecture Notes Client XPages requests sent to an embedded Java Web container Web Container Embedded XUL Runner The XPages runtime inserts as a generic web XPages UI Container module and provides a XPages Runtime virtual container for NSFs Each NSF can be projected as an auto- In Short deployed Web Module.  NSF apps have a new XPages client launch option When app is opened, this URL is passed to XPages client container NSF design elements The container further transforms the URL ... (XSP, Java class files…) •Creates a instance of the XULRunner browser are made available as •Sends a secure request to client web container module resources to the The web container routes all XSP requests to the XPages runtime servlet API. XPages runtime renders pages back to the XULRunner browser 9
  10. 10. XPages on the Client - Demo 10
  11. 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 11
  12. 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 12
  13. 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 13
  14. 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 14
  15. 15. Active Content Filtering Demo Dirty HTML Clean HTML 15
  16. 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 16
  17. 17. High Level Architecture Lotus Mashup Server Domino Server Application Database Widget Catalog iWidget Servlet - XPages - Components Proxy server XPages Renderer ●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 Domino iWidget rendered ● The Lotus Mashup proxy server is used whenever necessary in an iFrame ● Uses HTML 5 extensions when available (FF3, IE8...), else uses the proxy 17
  18. 18. Lotus Mashup Demo 18
  19. 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 19
  20. 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 20
  21. 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 21
  22. 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 to AD110 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 22
  23. 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 23
  24. 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 24
  25. 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 25
  26. 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 26
  27. 27. Advanced Dojo Based Controls Dynamic Tooltips Scrollable Grid Popup Dialogs Calendar Control Tag Cloud Dynamic Outline 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 27
  28. 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 28
  29. 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 29
  30. 30. Resources ● Lotus Domino Designer wiki ▬ http://www.lotus.com/ldd/ddwiki.nsf powered 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 30
  31. 31. XPages Related Sessions to Not Miss Description Speakers AD107 Enhance Your Existing Applications with XPages Steve Castledine Stephan Wissel AD108 XPages in the IBM Lotus Notes Client - A Deep Dive! Martin Donnelly Teresa Monahan AD109 XPages Performance and Scalability Mark Gargan Tony McGuckin AD110 Unleash the Power of XPages Philippe Riand Maire Kehoe AD111 Harnessing the Power of Server-Side JavaScript and Other Tim Tripcony Advanced XPage Techniques Stephan Wissel BP207 Make Your XPage Apps "Pop!" with CSS and Themes Declan Lynch David Leedy SHOW112 How to Build an XPages Application from Start to Finish Tim Clark Matt White JMP101 IBM Lotus Domino Designer 101 Dan O'Connor Ishfak Bhagat 31
  32. 32. Q&A – Your Turn! 32
  33. 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. 33

×