SiteMeshjavaBin 12.05.2005 Side 1 SiteMesh javaBin – 12.05.2005 Eivind Waaler, BEKK Versjon 1.0.

Slides:



Advertisements
Liknende presentasjoner
12.Studienreise nach Finnland,
Advertisements

Hvor stor er en fisk? Yggdrasil Hvor stor er en fisk?  Vanlige kundetyper og prosjekter  Faktorer som påvirker.
Kvinner og politikk Kvinnelig valgmobilisering i Nord-Norge: Glasstak eller etterslep? Marcus Buck.
1 NTNUs Multimediesenter 1.Integrasjon 2.Produksjon 3.Framtidsvisjon NTNUs Multimediesenter REN Medlemsmøte Trondheim 31. August 2005.
® IBM Software Group © 2004 IBM Corporation Kunnskapsforvaltning eller Ustrukturert Læring? Dag Oliver, IBM Software Group Norge.
Design av sikre web-applikasjoner
© 2006 IFS AB. All rights reserved.
Litt mer om PRIMTALL.
So you think you can scale? Oracle Coherence i praksis OUGN vårseminar, april 2010, Øyvind Brusevold.
Webprogrammering (LO113A) 1 Kom i gang med PHP. Webprogrammering (LO113A) 2 Mål  Installere Apache og PHP  Konfigurasjon av Apache og PHP  Forstå samspillet.
Content Management på en ny måte Stian Danenbarger Creuna as.
Hva fikk vi igjen for å utvikle på IOS. En app for å finne biblioteksmateriell. Deichman har gjort dataene sine tilgjengelig med et SPARQL- endpoint.
Publisering på internett
Everyone Print Kalle Snarheim.
Elverum, 24. Mai 2011 Kenneth Baranyi Eriksen. Hvem er? Kenneth Baranyi Eriksen  Daglig leder Webgruppen AS  Siviløkonom, fotballtrener  Webanalyse.
Teknologi for et bedre samfunn 1 Asbjørn Følstad, SINTEF Det Digitale Trøndelag (DDT) Brukervennlig digitalisering av offentlig sektor.
JSP presentasjon Arild Strømhylden NTNU 26 June 2014.
Mer html. Krav til innlevering • Utvikles i HTML5 • Være velformet og validert • Benytte css • Drop down menyer • Basere seg på HTML5 tagger for sideoppsett:
Google Confidential and Proprietary 1 1 Hva kan Google fortelle deg om kundene dine? Siri G. Børsum Industry Leader Google Norway Hva kan Google fortelle.
1 Web og sosiale medier Kvinne på Topp 22. September 2008 Sørmarka.
Java Teknologi Teknikker Økosystem Johannes Brodwall
Kontrollstrukturer (Kapittel 3)
IBM Global Services JavaOne 2007 Ole André Scheie IBM GBS.
Universell utforming Kirsten Ribu HiO Evaluering av datasystemer Analyse av systemegenskaper Kirsten Ribu
Lynkursdagene høsten 2011 Ansvar for egen PC ved UiO Hva bør jeg som bruker vite og gjøre..?
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Web Client Software Factory Inge StubdalLevel 300 Avanade.
Ole Petter Sørensen Trainor as
Teknisk. Oversikt •Forskjellen på vPos systemet fra 2004 til •Mest om vPos serveren. •Også noe om SilentWings Viewer.
Effektiv Visualisering av kvantitativ Informasjon Med Microsoft Reporting Services.
WCAG 2.0. WCAG historikk West County Assembly of God, 1969 Web Content Accessibility Guidelines (WCAG 1.0), 1999 Web Content Accessibility Guidelines.
2003 IT-konferansen 2003 UNIVERSITETET I OSLO Vortex: Skrivbar web for UiO Oddmund Møgedal USIT/UiO.
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
Android-Programmering Våren Lagring av data SharedPreferences Filsystem Database.
Kvalitetssikring av analyser til forskningsbruk
Global oppvarming Mål: Vi skal lage en enkel database med temperaturdata fra 1770 til i dag. Deretter tilby et brukergrensesnitt mot databasen.
Fag LO189D - Objektorientert programmering Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11 Applet’s Hva karakteriserer applet’sside.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Skriv om slik at setningene betyr omtrent det samme
Kapittel 1, oppgave b) å kaste loss å seile uvær (n) kuling (m)
1 Information search for the research protocol in IIC/IID Medical Library, 2013.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall.
Copyright © 2003 Systek J2EE Arkitektur Java Workshop CBA Johannes Brodwall, Systek as.
Copyright © 2003 Systek J2EE Teknologier Java Workshop CBA Johannes Brodwall, Systek as.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall.
11 IKT-baserte læremidler Arne Ketil Eidsvik Avd. for lærerutdanning.
Microsoft for akademia Rune Zakariassen Fagansvarlig for forskning og høyere utdanning Microsoft Norge.
GRØNNALGER BRUNALGER RØDALGER
1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen.
1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte.
Intro til php - Uke3.2 - Ronny Mandal Introduksjon til PHP.
JavaOne oppsumering tobias k torrissen
Kort om HTML ML meg her og ML meg der. En SV’er til og med.
SQL+XQuery+XML+ PHP+XSLT+HTML = $$ ?. CGI Common Gateway Interface Parametere til websider (server-side scripts) I URL'en:
WAI 2.0 Flere akronymer.. WCAG 2.0 Working Draft: Fire prinsipper Content must be perceivable Innholdet skal presenteres slik at det kan bli oppfattet.
Lightning Talks Oslo XP meetup juli Johannes Brodwall.
PARLAY/OSA Referanser: Referanser Foredraget er i all hovedsak basert på to artikler. Disse kan finnes på:
Figur 1 Behov. Figur 2 Behov Figur 3 Prioritering/ressursinnsats.
OOT Seminar H-97 CORBA Praktisk del. Valg av ORB implementasjon n Har valgt å bruke Visigenic sin ORB implementsjon n ORB’en er 100% Java kodet n Bygger.
Questions for New Zealand/Maori websites:
1 | 2010 Internetteknologi 2 (ITNET2) Kort teknisk ASP.NET introduktion Mandag den 4/ Jesper Tørresø.
State Of The Union – Backend & Desktop –
Håndholdte terminaler og utnyttelse av mobil teknologi Nils Petter Johnsen Product Market Manager Telenor Norge.
Inflation og produktion 11. Makroøkonomi Teori og beskrivelse 4.udg. © Limedesign
Kirsten Ribu Samfunnsinformatikk Mer om tilgjengelighet Kirsten Ribu HiO.
PETS – Oppdal april 2010 HOVEDMENY  Hjem  Opplæring  Mål  Mål og status  Websider 2280  Smart på web  Tips  Sosial medier  Demo webwiz.
Telenors satsing på fri programvare Paul Skrede - GoOpen 2009.
Kapittel 1, oppgave i) Sett inn preposisjoner eller adverb som passer.
Befolkning og arbejdsmarked 7. Mikroøkonomi Teori og beskrivelse © Limedesign
Utskrift av presentasjonen:

SiteMeshjavaBin Side 1 SiteMesh javaBin – Eivind Waaler, BEKK Versjon 1.0

SiteMeshjavaBin Side 2 Min bakgrunn Utdanning fra HiST + UiO – 4 år Utvikler/arkitekt hos BEKK – 5 år Java/J2EE bakgrunn – 6 år Mye J2EE webapplikasjoner Hvordan blande Java/HTML?? Fokus på gode rammeverk og best-practice! 1 års erfaring med SiteMesh  Mike Cannon-Brookes – SiteMesh, TSS 2004 (6.-8. mai)

SiteMeshjavaBin Side 3 Agenda Problemet Hva er SiteMesh? Et eksempel Hvordan funker det? Sammenligning med Struts Tiles Avansert bruk

SiteMeshjavaBin Side 4 Problemet Typisk formside: 20 linjer enkel og fokusert HTML Enkelt å vedlikehold Ser alle elementer og bruk Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 5 Problemet Med design skal siden se slik ut: 300 linjer kompleks HTML Vanskelig å finne igjen de 20 linjene Vanskeligere å forstå bruken! Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 6 Problemet Vanskelig å separere innhold og presentasjon! Alle webapplikasjoner trenger det Trenger dekorering av websider: Header – tittel, logo etc. Footer – copyright o.l. Navigasjonselementer – toppmeny, venstremeny etc. Andre viktige aspekter: “Portlets” – små paneler på websiden Browserspesifikke versjoner  IE, Firefox, Opera etc.  PC, Mobil, PDA, Set-top box etc.  Søkeroboter Printbare utgaver Et lite eksempel… Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 7 Eksempel på dekorering Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 8 Eksempel på dekorering Header Navigation Information Downloads Login News Search Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 9 Typiske løsninger Copy & paste SKIKKELIG DÅRLIG: Si opp noen utviklere JSP includes DÅRLIG: Mye vedlikehold, tette koblinger og økende kompleksitet XSLT OK: Fleksibelt, men vanskelig å debuge og lang læringskurve SiteMesh BRA: Enkelt, løst koblet, skalerbart og fleksibelt Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 10 Hva er SiteMesh? Open Source J2EE layout og dekoreringsmotor Decorator pattern for webapplikasjoner Analogi: Swing look & feel endring Kjerneverdier: Enkelhet, Fart og Fleksibilitet! Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 11 Hva er SiteMesh? Implementert som et Servlet 2.3 request filter Trenger Servlet 2.3 kompatibel server Kjører på alle J2EE servere Typisk request (uten SiteMesh): Web Container 1. Incoming request Web App 2. Generate decorated page (Servlet, JSP, Perl, PHP, HTML etc) 3. Return result Browser Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 12 Hva er SiteMesh? Request med SiteMesh filter aktivert: Web Container Web App 2. Generate page (Servlet, JSP, Perl, PHP, HTML etc) Browser 1. Incoming request 5. Return result SiteMesh Filter 3. Get Decorator 4. Decorate page Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 13 Enkelt eksempel Installere SiteMesh Skrive enkel JSP side Skrive enkel JSP dekorator Legge på heading Legge innholdet i en boks Koble side og dekorator sammen Vise resultatet Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 14 Installasjon 1.Kopiere sitemesh-2.x.jar til WEB-INF/lib/ katalogen på web-app 2.Installere og sette opp servlet filter i WEB-INF/web.xml: sitemesh com...sitemesh...PageFilter sitemesh /* Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 15 Skrive en enkel side About JavaBlogs JavaBlogs aggregates the blogs of Java bloggers. Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 16 Skrive en enkel dekorator java.blogs - "> Section: MyDecorator.jsp Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 17 Koble dekoratoren til sidene Mapper dekoratoren til alle URLer i applikasjonen Enkel URL-mapping gjøres i /WEB-INF/decorators.xml /* Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 18 Resultatet! java.blogs - About JavaBlogs About JavaBlogs Section: About JavaBlogs aggregates the blogs of Java bloggers. Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 19 Hvordan funker SiteMesh? Result (HTML) Content (HTML fragment) Content Source (JSP, Perl, PHP, HTML etc) Field Map 2. SiteMesh Presentation (Decorator - JSP) Decorator Mappers 3. 1.Server lager HTML 2.SiteMesh leser inn HTML 3.SiteMesh velger dekorator 4.SiteMesh dekorerer HTML Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side Server lager HTML Hold HTML enkel, uten noe presentasjon/design Eksempel på enkel HTML: About JavaBlogs JavaBlogs aggregates the blogs of Java bloggers. Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side SiteMesh leser inn HTML Gjør om HTML koden til en tabell (Map) av felter Title og Body hentes direkte fra HTML Egne felter for  body attributes (body.)  meta tags (meta.)  content blocks (content.) Eksempel på tabell (Map): KeyValue titleAbout JavaBlogs meta.sectionAbout bodyJavaBlogs aggregates the blogs of Java blogges body.bgcolor#ffffff Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side SiteMesh velger dekorator Sekvenser med regler (DecoratorMapper objects) velger dekorator for hver request ~10 innebyge mappers, lett å skrive egne java.blogs - "> Section: Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side SiteMesh dekorerer HTML Resulterende kode er ren HTML Eksempel på resultat: java.blogs - About JavaBlogs About JavaBlogs Section: About JavaBlogs aggregates the blogs of Java bloggers. Kilde: Mike Cannon-Brookes - Atlassian

SiteMeshjavaBin Side 24 SiteMesh vs. Struts Tiles Tiles – metode 1 (JSP): Tiles – metode 2 (XML defs):

SiteMeshjavaBin Side 25 SiteMesh vs. Struts Tiles SiteMesh leser og forstår HTML Tiles må definere feltene selv i tiles-def.xml? SiteMesh enklere og ryddigere? Sidene fullstendig løsrevet fra dekorator – AOP for HTML?? Tiles kan ha mange “tiles” på en side SiteMesh bruker kun en dekorator av gangen SiteMesh – veldig enkelt å bytte dekorator In the sitemesh vs tiles comparison... I think there can't be any comparison. Tiles is a usual piece of software with all limitations imposed by usual design and Sitemesh is a wonder of technology with all 'problems' imposed by revolutionary design :-) Kilde: Dorel Vaida – TSS

SiteMeshjavaBin Side 26 Avansert funksjonalitet Forskjellige dekoratorspråk JSP + taglibs Velocity Freemarker DecoratorMapper interface URL  /* Printable Browser spesifikk Roboter etc. 12 innebygde, enkelt å skrive egen PageDecoratorMapper FrameSetDecoratorMapper PrintableDecoratorMapper FileDecoratorMapper ConfigDecoratorMapper Default Chain of Responsibility

SiteMeshjavaBin Side 27 Eksempel – PageDecoratorMapping Sider kan selv velge dekorator Fint for småting, “portlet”/paneler/forms etc. Skummelt å bruke for mye? Knytter sider opp mot SiteMesh Bra i dekoratorer! Eksempel:

SiteMeshjavaBin Side 28 Eksempel – PageDecoratorMapping Enkel portlet funksjonalitet? Ligner på Tiles?

SiteMeshjavaBin Side 29 Diverse StaticMesh – port (stable) ISAPI C++ port (unstable) PHP-Mesh Website: sitemesh-blank.war – fin å starte prosjekt med sitemesh-example.war – enkle og oversiktlige eksempel sitemesh jar – kun SiteMesh OpenSymphony – Mange bra OS produkter (WebWork, XWork, OSWorkflow, OSCache ++) Samarbeid med Atlassian (JIRA & Confluence)

SiteMeshjavaBin Side 30 Q & A Spørsmål? Ta gjerne kontakt: Takk for meg!