Modernisering af IBM Domino applikationer En præsentation for Common Denmark af John Dalsgaard
Agenda Om mig Historik IBM Domino udviklingsværktøjer Udfordringen Applikationsstruktur Eksempler/demo Opsummering/spørgsmål
Om mig Datamatiker og HD IØ Brancher: Bank og rederi Første AS/400 i 1989 (OS/400 2.0) Indkøbt installeret flere AS/400, System i, IBM i siden Har haft flere kunder m. Domino på AS/400 Jobs: Udvikler, projektleder, IT chef, konsulent eget firma siden 1998 Notes/Domino siden 1995 Java siden Notes 5.0.7 (2000)
Om mig Meget store web-apps (40.000+ brugere) Skalérbarhed Performance Stabilitet Seneste år: XPages og rigtigt meget Java Mobile Web (jquery & AngularJS) Native mobile apps (Appcelerator) Certified Principal/advanced administrator og developer alle versioner 4.6 9.0 IBM Champion 2015
Om mig
Status? Hvor er I? Teknologier? Typer af applikationer? Omfang/vigtighed for organisationen? XPages? Erfaringer? Eksperimenter/tests? Kørende løsninger? Hvilke typer? Planer?
Historik Lotus IBM Notes/Domino Eksisteret 25+ år MANGE data akkumuleret over tid Styrker? NoSQL database - men det hed den ikke dengang :-) Robust Integreret sikkerhed Platformsuafhængighed Replikering...
Historik Styrker fortsat... Simpel web-server Skift til moderne, opensource udviklingsværktøj (Eclipse) Udfordringer? Store databaser... (hvis transaktions orienterede) eller rettere store views! Simpel web-server Klient forsvinder fra brugerne (mail/kalender flyttes...) Folk med kompetencer
Domino udviklingsværktøjer Notes klient LotusScript, @-formler, forms/views, etc. Traditionel client/server På retur... Web forms/views etc. Gammeldags Ingen state load & forget Meget omstændeligt Pass-through html Web query open/save agenter Computed text
Domino udviklingsværktøjer Xpages Moderne web application server Java Server Faces (JSF) State Application, Session, View, Request scopes JSF Lifecycle, etc.
Domino udviklingsværktøjer Xpages fortsat... OSGi plugins Framework til udvidelser ALLE mulige Java-komponenter JDBC (adgang til databaser) Billedbehandling Integration til andre systemer (f.eks. POI4XPages Office produkter) mange, mange flere! og EGNE!
Domino udviklingsværktøjer Xpages fortsat... Moderne udviklingsmiljø Eclipse MANGE flere kompetente udviklere kan nemt overtage direkte fra skole :-) STORT open-source community OpenNTF.org XSnippets MANGE projekter/templates til direkte at hente og bruge/tilpasse OpenNTF Domino API (ODA) Modernisering af Java i Domino!!!
Domino udviklingsværktøjer Xpages fortsat... Bootstrap og OneUI UI frameworks Drag/drop komponenter i editor eller skriv direkte i XML source Extension library Java 1.6 bliver snart 1.8! Masser af snedige udvidelser Siden nov. 2014 Åbent for bidrag direkte til IBM!!! Forhåbentlig også nyere Eclipse! Source control (f.eks. Git)
Domino udviklingsværktøjer DAS Domino Access Services Databaser (JSON) Kalender (JSON, ical) RESTful services MANGE indbyggede features CRUD operationer Gode muligheder for at udvide med egen logik Se ressourcer for komplet præsentation!
Udfordringen Gamle systemer Mange data opsamlet over måske mange år Vigtige systemer for organisationen Typisk Notes klient-baserede løsninger og den forsvinder fra brugernes computere Færre og færre kan vedligeholde systemerne Ser gamle og usexede ud Mangler mobil adgang Hvad gør vi??? Rip & replace...?
En mulig strategi Bevar nuværende system Byg NY snitflade ved siden af den nuværende Web-baseret Service-baseret Klienter: Mobil Web Andre systemer Bevar evt. specialiserede funktioner som de er Gå efter størst mulig ROI - return on investment ( 80/20...)
Applikationsstruktur Web-sider Løs kobling/service-arkitektur Dannet server side (XPages) Dannet/kørt klient side Webservices (REST/JSON) Klient-teknologi... Frie hænder!!! Kan nemt implementeres i applikation (db) ved siden af systemet
Eksempler/demo Messe-app Fangstjournalen Sherlock Web
Demo messe-app Simpel oversigt over udstillere m.m. QR kode ved hver stand til den enkelte udstiller QR kode til startside ved alle trapper/indgange QR drengen med T-shirt m. QR kode, som gik rundt på messen Teknologi: jquery Mobile simple html-sider som SPA (Single Page Application) Simpel Domino Database m. views/forms bagved Tillader opdatering fra Notes
Kalundborgmessen 2012
DTU Fangstjournal For DTU Aqua Vandmiljø Fiskepleje Web baseret løsning XPages Java (20.000+ linier) Skalerbart... - caching Meget tæt på fuld drift
DTU Fangstjournal App til Android & ios Native app (Appcelerator) Offline GPS / lokation REST Services
Sherlock Web Kvalitetsledelsessystem fra EHQ Tilbygning til traditionel Notes-løsning fra 1992... Leveres i separat applikation Nu med mobil tilbygning Html5/css (=rent web) AngularJS + REST services Offline + synkronisering Tage billeder Offline dokumenter Android & ios
Opsummering Udviklingsmiljø XPages Java DAS / RESTful services Udfordringen Applikationsarkitektur
Spørgsmål?
Kontakt Du er velkommen til at kontakte mig: John Dalsgaard Dalsgaard Data A/S Solbjergvej 42 Solbjerg DK-4270 Høng Telefon: +45 4914-1271 Email: john@dalsgaard-data.dk www.dalsgaard-data.dk
Kilder/ressourcer REST services and IBM Domino/XWork MVC and IBM XPages OpenNTF.org Bog: Mastering XPages Video-serie: Notes in 9 StackOverflow Xpages 3.600+ spørgsmål Meget aktivt forum mange, der svarer hurtigt på dine spørgsmål :-)