Öppna Program RA - XForms utredning 2009-05-11. Features Orbeon Orbeon är en ajax-baserad, serverside XForms- implementation. – Stöd i browsern för XForms.

Slides:



Advertisements
Liknande presentationer
En presentation av ett unikt system
Advertisements

Ladoktjänster i mobilt format
Tomas Sandström, Adtollo
Picsara Mobile Capture Anders Fransén, Produktchef
Om studentwebben Mitt Lnu – Bakgrund
Kommunikationslösning för licensansökningar
Inledning och avslutning, texten skall vara lätt att följa
Samarbete med Microsoft Office Sharepoint server 2007 Angelica Rydelius Bergman Välkommen!
system för handläggarstöd
Addera Stöd för PULL i EI
Anvisningstjänstens roll inom infrastrukturen för Svensk e-legitimation Martin Lindström
Att söka och förvalta kunskap
Öppna Program: Referensarkitektur
Picsara 10.2 Picsara Användardagar
Hardware OS Data, User settings Applications IT utmaningar Beroenden mellan PC komponenter hämmar flexibiliteten Vad förändras Beroenden bryts med hjälp.
Smartare administration i Quality Center HUGS 3 april 2008 Jan Czajkowski
1 Välkommen till dagens e-möte –Säkerställ ljud via Meeting > Audio Setup Wizard –Slå av din mikrofon –Stäng av din kamera –Använd funktionen ”Raise hand”
Byggvarudeklarationer BVD 3
Systemkarta.
”Ett sätt att distribuera Business Objects via webben”
Arkitekturförändringar i NyA ITS Umeå Universitet Arkitekt/utvecklare i antagningssystemet NyA.
DCV Idéskiss Design Jag tror att jag ska ha en mörk och stilren design på mitt DCV. Det ska finnas dynamisk funktionalitet där designen byts utan att sidan.
IT-utbildningar på distans Gunnar Peterson Malin Pongolini.
receptbok coriq Allt du behöver för att lyckas
Ajax Dynamiska webbsystem. AJAX och web 2.0 Web 2.0 är egentligen bara ett ”buzzword” för en modern webbsajt. Innehållet skulle till exempel vara: Rich.
Microsoft Dynamics CRM 3.0
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
En PowerPoint om PowerPoint
Zend Framework Exemplifierat med spagooy.com Kurs: Moderna applikationsmiljöer, HIK Handledare: Martin Blomberg Studenter: Robin Bengtsson, Magnus Spång.
OpenHierarchy introduktion
Picsara DICOM Modulen Från Picsara Picsara DICOM Modulen Från Picsara 10.1.
Introduktion till DITA
Ver 1.0 IT-satsningen Styrelsens förslag Riksstämman Skövde 2003.
Stefan Andersson, Uppsala universitet 1 TestSök Presentation av ett BIBSAM-projekt.
Elektronisk attestering och signering
Standardisering ger dig mer tid Peter Frodin. EFFECT-Direct / BDD Systems Management Server (SMS) Infrastucture Optimization Model (IOM) Vista Nästa steg.
Projekt och Arkitektur
Referensarkitektur - syfte
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Redaktörsnöjdhet. Umbraco + Formulär fungerar bra Kan ställa in startsida för resp redaktör Fungerar att redigera i iPad Redaktörsgränssnittet var responsivt.
Införande av QGIS som GIS-plattform i Kristianstads kommun
Java servlets och databaskopplingar
Workshop Fyrbodal. 2 Agenda Presentationsrunda Genomgång frågeställningar Enas om slutsats per frågeställning Avslutning, reflektioner.
Viktigt när du upphandlar molntjänster
OpCon/xps - A case study. Club2200Page 1 OpCon/xps – A case study Club2200 Magnus Nyman & Hans Forslind.
Koha En presentation av bibliotekssystemet Koha. Projeketets syfte & mål Projektets syfte är att öka kunskapsnivån i Halland och Sverige kring bibliotekssystemet.
Microsoft Visual Studio och.NET Framework, idag och imorgon! Robert Folkesson
Lunds universitet / Samordnat IT-stöd vid LU / Oktober 2009 NETinfo Samordnat IT-stöd vid LU Johnny Nilsson, PL Birgitta Lastow, bitr. PL Anders.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
BVForum - en genomgång för revisorer Sören Thuresson.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
Edge Client och Server OS Server Applikationer Agenda  Intro  Komponenter  Server installation  Definition updates  FCS konfiguration  Klient deployment.
Lunds universitet / Samordnat IT-stöd vid LU / Mars 2010 NETinfo-möte Samordnat IT-stöd Lunds universitet Johnny Nilsson, PL Birgitta Lastow,
HSA Integration.
Anpassa fri programvara - Frihet ett, hur nyttjar man den? Copyright © 2006, 2007 Marcus Rejås Rejås Datakonsult Jag ger härmed rätten till alla att nyttja.
Introduktion till SAML federation Varför använda SAML federation för elektronisk legitimering och underskrift Stefan Santesson Martin Lindström.
1 Välkommen till dagens e-möte –Säkerställ ljud via Meeting > Audio Setup Wizard –Använd funktionen ”Raise hand” om du vill ställa fråga –Eller använd.
Lathund Ladoksupport.
Avvikelsehantering En säker verksamhet = en säker arbetsmiljö!
Införande av blodsamverkan
Öppen frågestund Den 4 maj 2017.
Från databas till Excel
Ladok3 och studenttjänster
Kandidathantering i Reachmee
Lathund-Ladok-95-Studiedeltagande
PoC Mobilt Efos
Sprintdemo 30. Sprintdemo 30 Dagens program Teknik för demo: Kontakt med projektet: Skype för både ljud och bild Inspelad demo på projektwebben Kontakt.
Effekterna i SWAMID av Dataskyddsförordningen
Presentationens avskrift:

Öppna Program RA - XForms utredning

Features Orbeon Orbeon är en ajax-baserad, serverside XForms- implementation. – Stöd i browsern för XForms är inte nödvändigt. – Har även ett noscript-läge med begränsad funktionalitet. Open Source – Kommersiell support – Licens: LGPL Orbeon består av följande delar: – XForms Engine – XML pipeline Engine – Page Flow Controller (PFC) – XForms builder (Alpha)

Arkitektur Källa:

Versioner Senaste stabila: Orbeon 3.6 (dec 07) – Har en känd bugg ihop med Firefox 3 – Saknar stöd för att stänga av javascript – Ska enligt dokumentationen gå att deploya i JSR 168-portal (Liferay). Tycks dock ej fungera. Orbeon 3.7 Beta 1 (aug 08) – Fortfarande problem att deploya på portal. Latest build av 3.7 (20/3 2009) – Funkar på os-portal - dock ej på WebSphere Portal rakt av Frågetecken – när kommer Orbeon 3.7 i en (tillräckligt) stabil version?

Alternativa användningar 1.Använda hela Orbeon-sviten, inkl XML pipelines och PFC. – Innebär att man bygger hela ”applikationer” med Orbeon, inkl flödeslogik etc. – Applikationerna deployas ihop med/under orbeon.war. – Fördelar: De flesta exemplen/dokumentationen från Orbeon bygger på detta. – Nackdelar: Inlåsning till Orbeon. När ska detta resp. RAs teknikstack användas? 2.Integration med Java/RA där endast Orbeon XForms Engine används. – Fördelar: Vi kan byta ut Orbeon mot alt impl. Naturlig uppdelning mellan RA och Orbeon. – Nackdelar: De flesta exemplen och dokumentationen blir irrelevanta. Inga exempel/dok hur man åstakommer detta för portlets – Kommentar: Orbeon är monolitisk: Det är inte dokumenterat om/hur Orbeons Xforms Engine kan brytas ut och deployas för sig. Man får lösa det med guidelines/restriktioner inom RA.

2 Orbeon som en XForms Engine Två alternativa vägar: a)Separat deployment Orbeon.war och myWebApp.war deployas sida vid sida. Egenutvecklade XForms-formulär ligger i myWebApp, t ex under en specifik folder. Ett servletfilter används för att redirecta/forwarda requests rörande dessa sidor till orbeon. – För att detta skall vara tillåtet måste ”crossContext” slås på. MyWebApp behöver ha en jar-fil från Orbeon under web- inf/lib. b)Integrerad deployment Orbeon och myWebApp slås ihop i en war-fil. Formulären deployas i denna war-fil (snarlik alt 1s deploy).

2a Separat deployment Fördelar: – Lättare att uppgradera Orbeon om den deployas fristående – Slipper problem med krockar i 3:e partsbibliotek – Slipper problem med att Orbeon inte bygger på Maven Endast en orbeon-jar-fil behövs i myWebApp. Nackdelar: – Går ej att få till i portalmiljö (?). – ”CrossContext” måste tillåtas för webappen. Ej standard - Hur åstakomma detta på andra appservrar än Tomcat, t ex WebSphere? Något oklart vad det får för implikationer t ex säkerhetsmässigt, deploymentmässigt etc.

2b Integrerad deployment Fördelar: – Likartad setup funkar både för portlet och webapp. För portlets: oklart/odokumenterat hur man gör för att inte använda PFC – Vi slipper crossContext. Nackdelar: – Orbeon bygger ej på Maven – krock mot RA. – Ev problem med krockar för beroenden till 3:e partsbibliotek. Web-inf lib i orbeon.war > 70 jar-filer! – Krångligare vid uppgraderingar. Gemensam web.xml och portlet.xml. Kommentar: För detta alternativ rekommenderas att vi skapar en separat webapp där orbeon + formulär läggs. Kommunikation bakåt med (REST-baserade) tjänster deployade utanför denna webapp.

Deployment En gemensam installation (per portal/appserver) Innebär att alla system/komponenter använder samma orbeon. Orbeon ses som en ”plattformskomponent” Alla måste ligga på samma version och uppgraderas samtidigt. – Kan lösas genom att man deployar flera orbeoen – en per version. För portlets: Leder till konstiga beroenden mellan system/komponenter – ”deploy” av portlet-formulär i Orbeon innebär att man lägger saker under web-inf och ev uppdaterar web.xml/portlet.xml. En per verksamhetskomponent/system Orbeon.war måste döpas om/ges en annan path. Olika versioner kan användas i olika system/komponenter. Det blir upp till varje systemägare att bestämma när man uppgraderar.

Föreslagen integration med RA – Webapp 2a – Separat deployment rekommenderas – Rekommenderas av orbeon själva. – Slipper hantera alla jar-filer som orbeon för med sig. Vi kan använda maven ”som vanligt”. – Formulären deployas i web-projektet. En installation av Orbeon per Orbeon version rekommenderas – Orbeon deployas som en war med versionsnummer i pathen. – På så vis kan olika system använda olika versioner av Orbeon. Bakomliggande tjänster som servar formulären implementeras som enkla XML-baserade REST-tjänster – Mha JSR 311/JAX-RS. Obs RAs ”vanliga” teknikstack, inkl JSF kan ej användas för formulären – Formulär byggs som egna sidor, mha XHTML/JSP (ev facelets). – För en sammanhållet applikation går det bra att länka fram och tillbaka mellan formulärsidor och övriga sidor. Lösningen behöver verifieras ytterligare genom PoC/exempelapp

Föreslagen integration med RA – Portlet 2b - Integrerad deployment rekommenderas – Finns inga andra alternativ för portlets (?) – Vi minimerar nackdelen vid uppgraderingar genom att skapa en separat web- modul/war-fil för detta där vi endast deployar formlären. En installation/system eller verksamhetskomponent rekommenderas – Vi slipper konstiga beroenden mellan komponenter/system. – Beslut måste tas om det blir per system/verksamhetskomponent. I övrigt gäller samma som för webbappar: – Bakomliggande tjänster som servar formulären implementeras som enkla XML-baserade REST-tjänster Mha JSR 311/JAX-RS. – Obs RAs ”vanliga” teknikstack, inkl JSF kan ej användas för formulären Formulär byggs som egna sidor, mha XHTML/JSP (ev facelets). För en sammanhållet applikation går det bra att länka fram och tillbaka mellan formulärsidor och övriga sidor (som ligger i en annan webapp). – Lösningen behöver verifieras ytterligare genom PoC/exempelapp

Föreslagen arkitektur - webapp Applikationserver Formlär Orbeon war REST- tjänster myWebbApp.war Orbeon filter

Portalserver Föreslagen arkitektur - Portlet Applikationserver myWebbApp.wa r REST-baserat API Formlär myOrbeon.war

Föreslagen integration med RA – Webapp Verksamhetskomponent (CM-Struktur) Applications (EAR) Gui EarWs Ear Modules (WAR) WebPortletIntsvc Composites (JAR) Web- Comp SvcTypesSche-mas Tjänster byggs upp mha ett JAX-RS- baserat REST-ramverk. I webbappfallet läggs även formulären här och Orbeons filter- konfigureras in.

Föreslagen integration med RA – Portlet Verksamhetskomponent (CM-Struktur) Applications (EAR) Gui EarWs Ear Modules (WAR) WebPortlet My- Orbeon Intsvc Composites (JAR) Web- Comp SvcTypes Sche- mas Orbeon.war döps om och ges en unik path. Här deployas även formulären. Tjänster byggs upp mha ett JAX-RS- baserat REST-ramverk. OBS! Under utredning…

Fördelar och nackdelar Orbeon Fördelar: – Har funnits ett tag (släpptes som Open Source 2004) – Många exempel – Open Source men support går att köpa till – Har stöd för att stänga av javascript (?) och fungera både i webapp och i portalmiljö (två viktiga baskrav) Nackdelar: – Monolitisk, svårt att bryta ut bara XForms Engine. De flesta exemplen använder sig av alla delar (dvs ej bara Xforms Engine). Många 3:e parts beroenden. Odokumenterat vilka som används till vad. – Bygger ej på Maven. – Portlet-delarna är relativt odokumenterade Mer avancerade frågor i mailinglistan besvaras inte eller väldigt långsamt… – Fungerar ej ihop med JSF som RA bygger på. Formulär måste ligga på ”egna sidor”. – Osäkert när version 3.7 kommer i stabil version. – Xforms Builder är i Alpha-version.

Alternativa implementationer Förutom Orbeon har implementationen Chiba ( utvärderats. Bland dessa två har Orbeon valts främst av följande två anledningar: – Bättre stöd för deploy i portal-miljö (dock ej fungerande på WebSphere Portal 6.1 i dagsläget) – Orbeon uppfattas som ett "mer levande" open source- projekt inkl bättre dokumentation, större möjligheter till support mm. Dock skall Orbeon användas endast som en Xforms engine, dvs det ska gå att byta implementation i framtiden!

Utestående frågor Orbeon Vilken version av Orbeon ska vi köra på? Hur gör vi vid uppgraderingar? Deploy på WebSphere Portal 6.1 Oklart hur man gör i en portlet för att bara använda XForms Engine Säkerhet Utökat test av Noscript support – snabbt test gav ej önskat res.. Utökad test av File Upload – med annat än base64-encodning Hur skicka parametrar till ett formulär i en portlet (ex för felanmälan-formuläret)? Test med stylesheets i portalmiljö Debug/felsökning Göra en fullständig PoC/exempelapp inom ramen för RA

RA Utökad exempelapp/PoC – Undersöka var REST-”tjänsterna” ska placeras - i svc eller i web-projektet. – Vilken implementation av JAX-RS ska väljas? – Deployment – en installation per verksamhetskomponent eller system? – Test av länkar från och till andra sidor inom RA. – Det bör gå att bygga projektet med maven – även om dependencies inte sköts via maven. – Dokumenterad tillsammans med en detaljerad anvisning på google code wikin. – Ev genom första skarpa projektet?