Ec13 xpages-basic


Published on

Slides from session at EntwicklerCamp 2013 ( 11-MAR-2013 )

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • xPages are the hot topic in the IBM Lotus world at the moment. What are they? Why should I choose xPages to develop my database applications? xPages are a Web 2.0 rapid development environment based around JSF and Java technology running on the IBM Lotus Notes and Domino platform. IBM Lotus Notes and Domino has been an established platform for developing applications where customers have been able to utalise industry leading security and workflow capabilities for business applcations. xPages extend these capabilities further by providing a full modern web development platform. We believe that you should consider using xPages technology if you are interested in the following You are looking for a standardised method of quickly developing Web 2.0 applications. You want to write applications quickly for mobile, web browser and lotus notes clients. You want to use Lotus Notes and Domino designer as the single toolkit for developing Lotus Notes Applications You see value in picking pre-built components from sources like openntf to deliver leading edge Web 2.0 applications You want to put together a simple strategy for developing and designing applications that maps to IBM and other leading vendor's roadmaps You want to build reusable modules and code to share amongst your business applications You want to be able to skin user interface control by using themes to make quick changes to your whole site or application You want to be able to web front end an existing application without disrupting existing functionality (or even changing the current application design> You want to make use of graphics, charts with dojo or pdf / rdbms integration with Java You want to deliver Web 2.0 applications to offline users You want to deliver to different web browsers using out of the box xPages features xPages applications bring full enterprise functionality and power to developers that need to use drag and drop development techniques but require enterprise Java for really serious tasks! So if you want to build a CMS driven website (this one is!), workflow application or web front end for browsers, Notes Clients and mobile devices you must look at xPages!!
  • Ec13 xpages-basic

    1. 1. Entwicklercamp 2013XPagesDie Grundlagen11. – 13..03.2013Maritim Hotel, GelsenkirchenUlrich Krause, BCC Unternehmensberatung GmbH
    2. 2. Über: Ulrich Krause Lotus Notes / Domino Administrator & Entwickler seit 1993 Senior Software Architect BCC (Düsseldorf) OpenNTF Contributor OpenNTF Board of Directors IBM Champion 2011/2012/2013 Blog Notes Forum (
    3. 3. Agenda Was sind XPages / Warum XPages ? Basis Technologien / Skills Wo laufen XPages? Portierung bestehender Anwendungen Domino Designer / Views / Perspektiven Beans / Managed Beans SSJS / CSJS Scoped Variables Praktisches Beispiel
    4. 4. Was sind XPages? Ein neues Design Element ab ND 8.5 Überwindet uralte Limitierungen der Standard Notes Entwicklung (z.B. @DBLookup in Ansichten) Ermöglicht die Erstellung moderner, webbasierte Applikationen Verwendet XML Markup Controls, data sources, business logic, custom controls Trennung von Design und Daten
    5. 5. Evolution XPages Entwicklung
    6. 6. Basistechnologien / Skills HTML XML CSS JavaScript @Formulas Java AJAX @FOO($Bar) Dojo Toolkit JSF (Java Server Faces)
    7. 7. Warum XPages ? Moderne Werkzeuge, zeitgemäßer Code Portierung bestehender Anwendungen Cross Browser kompatibel, mobile Endgeräte Geben Sie Ihren Anwendern moderne Anwendungen
    8. 8. Niemand möchte Robin sein
    9. 9. White Paper Paul Withers - Maximize the Benefits of Lotus Domino 8.5.2 with Xpages • %20Benefits%20of%20XPages%20in%208.5.2.pdf/$file/Maximising %20The%20Benefits%20of%20XPages%20in%208.5.2.pdf
    10. 10. Wo laufen meine XPages? Browser • Firefox, Safari, Chrome, Internet Explorer* – * IE6 must die! , sagt Microsoft – Für die Entwicklung Firefox verwenden • Firebug • YSlow • PageSpeed
    11. 11. Wo laufen meine XPages? XPiNC ( XPages in Notes Client )Kartsten Lehmann : XPages series #13: XPiNC app development tool:
    12. 12. Wo laufen meine XPages? Mobile Endgeräte iOS, Android, Blackberry … Simulatoren
    13. 13. Wo laufen meine XPages? Sidebar , Composite Application • (Paul Hannan )
    14. 14. Wo laufen meine XPages? Wenn es unbedingt sein muss / es gar nicht anders geht <iframe frameborder=”0” name=”myxpage” src=http://myserver/mydb.nsf/MyCoolPage.xsp> </iframe>
    15. 15. Applikationen nach XPages portieren? Handbuch Handbuch Sweet CRM CRM Intranet Intranet Helpdesk Spot Helpdesk 3 1 KM KM Zeiterfassung ZeiterfassungSichtbar Buget Buget Urlaub Urlaub HRM ISO 9000 ISO 9000 HRM 4 2 TEST DB TEST DB Systemdoku Systemdoku Komplexität
    16. 16. Applikationen nach XPages portieren? Eine Portierung bestehender Anwendungen macht keinen Sinn wenn … • … es dafür ein Standard Template gibt • … die Funktionalität durch einen andere Technologie abgedeckt werden kann – IBM Connections oder IBM Quickr® • … die Anwendung ausschließlich von Admins und Entwicklern benutzt wird • … die Anwendung bereits eine funktionierende Web GUI besitzt • …
    17. 17. Einstieg in XPages IBM • Mastering XPages – IBM Press Matt White • XPages 101 ( David Leedy • XPages TV ( ) • XPages Cheat Sheet ( Xpages Info •
    18. 18. Domino Designer 7
    19. 19. Domino Designer 9
    20. 20. Perspectives / Eclipse Views
    21. 21. Perspectives / Eclipse Views
    22. 22. Working Sets
    23. 23. Virtuelles Filesystem Schliessen schließt nicht das Schliessen schließt nicht das Project im virtuellen Filesystem Project im virtuellen Filesystem
    24. 24. Notes Client Speichernutzung optimieren <NotesProgramDir> • vmarg.Xmx=-Xmx512m (max. HeapSize ¼ RAM) • vmarg.Xms=-Xms128m (min HeapSize) • Werte müssen durch 4 teilbar sein
    25. 25. Domino Designer individuell anpassen File  Preferences Nathan Freeman “Making Domino Designer work like you want” /d6plinks/NTFN-8GP6RP /d6plinks/NTFN-8GP6RP
    26. 26. WYGINWYS = What You Get Is Not What You See Was im Designer so aussieht
    27. 27. WYGINWYS = What You Get Is Not What You See Sieht im Browser so aus … %20Application OpenNTF XPages Help Application: Paul Withers
    28. 28. Unterschiedliche Sichten
    29. 29. SSJS / CSJS
    30. 30. Java ( Beans & Managed-Beans ) Keine Unterschiede im Code Managed-Beans … • werden deklariert • haben eine Lebensdauer • werden automatisch erzeugt, initialisiert, gelöscht • werden über die Expression Language (EL) bereitgestellt
    31. 31. Scoped Variables Application The applicationScope duration is the WebModule duration. A web module is started when the first request comes in, and is eventually discarded after a period of inactivity, the default being 30 minutes. Every user of the application can access these variables once they are created, so there is no privacy with these variables. The applicationScope should only be used for data that must be shared among many XPages. Session With sessionScope variables, the variable lasts for the duration of a server session. This is when the user closes their browser, times out, or when a user logs off. The sessionScope is useful for using you want to store values for the current session only and specific to the current user View The viewScope is an XPage extension to JSF and its variables exist for the duration of the current view i.e. the current page. They are not accessible outside of that view. The viewScope is useful when a value must be stored for the current page and can deleted when the user moves to another page. Request The requestScope variables last for the duration of the request. This means the variables will last for the duration of a url request from the server. The variable can exist across XPages i.e. if an XPage is requested from another XPage. The requestScope variables are useful for variables which can be deleted straight after the value is submitted to the server. This means that there is not extra memory being used to store variables that are no longer needed.
    32. 32. OpenNTF: XPages Extension Library Macht die Entwicklung von Web Anwendungen noch einfacher und schneller Integration in Domino Designer ~ 90 zusätzliche, kostenlose Custom Controls Open Source Eigene Erweiterungen durch Extensibility API • up/XPages%20Extension%20Library
    33. 33. Das Endergebnis
    34. 34. Q+A• Mail:• Blog:• Sametime:• Twitter: eknori