Presentation laddar. Vänta.

Presentation laddar. Vänta.

Datum och namn Öppna Program: Referensarkitektur Introduktion.

Liknande presentationer


En presentation över ämnet: "Datum och namn Öppna Program: Referensarkitektur Introduktion."— Presentationens avskrift:

1 Datum och namn Öppna Program: Referensarkitektur Introduktion

2 Datum och namn Referensarkitektur - syfte •Övergripande syfte –Styra projekt mot en gemensam arkitektur •Varför vill man göra det? –Projektekonomi •Generellt: Korta projekttiden •Minska tiden för uppsättning av projektets infrastruktur •Minska mängden ”teknisk forskning” i projekten •Etc.

3 Datum och namn Referensarkitektur - syfte •Varför – forts. –IT-ekonomi •Ökad livslängd på utvecklade system •Flexibelt nyttjande av personal/konsulter •Minskade utbildningskostnader –Verksamhetsnytta •Välintegrerade grundfunktioner tvärs system, t ex inloggning –Nå tydlighet i arkitekturarbetet •Kraven på arkitektur är kända för projekten

4 Datum och namn Vad är en referensarkitektur? •En abstrakt arkitektur –En mall för att skapa konkreta arkitekturer –Baseras på en övergripande, långsiktig vision och ett antal krav •Exempel på vanliga beståndsdelar –En eller flera logiska referensmodeller •Definierar de termer och begrepp som används då man diskuterar arkitektur –Regelverk som bestämmer hur system skall designas –Exempelapplikationer och Proof of Concepts (PoC) –Ramverkskod, verktyg för kodgenerering etc –Följsamhetsprocess och förändringsprocess

5 Datum och namn Begär förändringar av Referensarkitektur Referensarkitekturens delar Abstrakt Konkret Krav / Vision (motiv för arkitekturen) Regelverk Följsamhetsprocess Ändringsprocess Referensmodeller Styrande principer Detaljerade regelverk/anvisningar Exempelapplikationer/PoC Tillämpad arkitektur (i projekt) Realisering Reglerar Ramverkskod/Verktygsstöd

6 Datum och namn Öppna program Referensarkitektur - översikt •Bakgrund –arbete inom ”3R” (tre regioner: VGR, Skåne, Sthlm) –Västra Götalandsregionen (VGR) släpper som öppen källkod under Öppna Program. •Referensarkitekturen består av: –Referensmodeller •En för s k inre arkitektur •En för s k yttre arkitektur –”Teknisk arkitektur” – realiserar referensmodellerna: •Anvisningar inom ett antal områden •Verktyg för att generera upp ”skelett” för system och komponenter •Viss ramverkskod •Exempelapplikationer och PoC

7 Datum och namn Bakomliggande vision Nationell IT strategi VGRs regionala strategi … Regionala projekt IT-arkitektur i VGR Portalramverk Bakomliggande vision

8 Datum och namn Ett fönster mot informationen Verksamhets- stödjande funktioner med en sammanhållen informationsmodell på regional eller nationell nivå. Uppbyggt enligt principerna för en tjänsteorienterad arkitektur. En funktion - en lösning. En lösning - en installation. Plattform för tjänsteorienterad integration (PTI) Gemensamma grundfunktioner - ”tekniska lösningar” - som delas av de verksamhetsstödjande funktionerna Standards för samverkan Bakomliggande vision “Ett fönster mot informationen”

9 Datum och namn Stuprörssystem eller lokalt anpassat / installerat system Arvet: Verksamhetsstödjande, lokala eller centrala system med lokala, inbyggda grundfunktioner Ett fönster mot informationen Verksamhets- stödjande funktioner med en sammanhållen informationsmodell på regional eller nationell nivå. Stuprörssystem eller lokalt anpassat / installerat system Lokala, inbyggda grundfunktioner Bakomliggande vision Startläge

10 Datum och namn Stuprörssystem eller lokalt anpassat / installerat system Arvet: Verksamhetsstödjande, lokala eller centrala system med lokala, inbyggda grundfunktioner Ett fönster mot informationen Verksamhets- stödjande funktioner med en sammanhållen informations- modell Plattform för tjänsteorienterad integration (PTI) Gemensamma grundfunktioner - ”tekniska lösningar” - som delas av de verksamhetsstödjande funktionerna Anslutning Stuprörssystem eller lokalt anpassat / installerat system Lokala, inbyggda grundfunktioner Standards för samverkan Bakomliggande vision Vägen mot visionen (strategi)

11 Datum och namn BIF MeliorinstansElvis Intern log … Internt arbetsflöde Gradvis anslutning av Arvet Ett fönster mot informationen (portal) RPÖ / NPÖ Mina Ärende n Plattform för tjänsteorienterad integration (PTI) Log/Larm tjänst Portal- ramverk KIV Intern person /rolldata Nytt BoS? Intern person /rolldata Anslutningar Arbetsflödes- motor KIV- sök Bef. BoS ? Intern log Internt arbetsflöde Intern person /rolldata Anslutningar Taxonomi- tjänst (metadata) Nytt affärsprocess- stöd (ny applikation/portlet), använder tjänsterna som de gamla stuprörs-systemen publicerar via PTI. Bakomliggande vision IT-Arkitektur i VGR

12 Datum och namn Kraven som lett fram till referensarkitekturen •Återanvändning på användningsfallsnivå •Stödja Vervas riktlinjer för web-applikationer •Mallar för dynamiska HTML-sidor ska kunna skapas och underhållas av web-designers •Stödja en “agile” utvecklingsmiljö •Möjliggöra kontroll över bygg -> deploy Krav på referensarkitekturen

13 Datum och namn Återanvändning på användningsfallsnivå •En web-applikation skall kunna plockas samman av återanvändbara komponenter. •En komponent innehåller allt som behövs för en dialog (bestående av ett antal sidor). •Inga dialog-specifika resurser ska behöva finnas web-appens WEB-INF-katalog. Krav på referensarkitekturen

14 Datum och namn Stödja Vervas riktlinjer för web-applikationer •“Graceful degradation” –Applikationer ska fungera i “alla” webläsare –Användarvänligheten kommer däremot minska vartefter funktionalitet i webläsaren minskar •Exempel –Applikationer måste fungera även om JavaScript är avslaget eller saknas –Applikationer måste fungera även i en gammal webläsare Krav på referensarkitekturen

15 Datum och namn Mallar för dynamiska HTML-sidor ska kunna skapas och underhållas av web-designers NetWeaver Webdesigner arbetar i DreamWeaver Javautvecklare kan editera samma fil i en XML editor Krav på referensarkitekturen

16 Datum och namn Stödja en “agile” utvecklingsmiljö •Ingen in-låsning vid en viss utvecklingsmiljö –Portabla byggen –“Build file is master” - IDE-konfiguration och projekt genereras från bygg-filerna •Rimliga krav på hårdvara –Det skall gå att utveckla och testa på en normal laptop. •Verktygen skall finnas tillgängliga utan dyra licenskostnader etc –Förenklar då man använder sig av konsulter •Snabb code-test-debug-cykel –Utvecklartester ska inte kräva deploy i en tung miljö, t ex WebSphere AS eller Portal Krav på referensarkitekturen

17 Datum och namn Möjliggöra kontroll över bygg -> deploy •Enkel hemtagning –Inget beronde till utvecklingsverktyg som inte finns i huset –Allid veta att vi “har fått allt” •Ändringar ska kunna göras med texteditor och incheckning –Byggskript på server som körs automatiskt –Ej beroende av enskild utvecklare eller PC •Säker release-process –Veta vilken version vi kör –Veta vad som ingår –Automatiskt kunna återskapa samma release •Automatiserad driftsättning Krav på referensarkitekturen

18 Datum och namn Referensarkitekturens styrande principer •I grunden SOA-principer –Främst kopplade till den yttre arkitekturen •Principerna ska genomsyra allt arbete och gälla alla projekt Styrande principer

19 Datum och namn Referensarkitekturens styrande principer •Principen om kanoniska tjänstegränssnitt •Principen för organisationsoberoende •Principen för löst kopplade tjänster •Skiktprincipen •Grundfunktionsprincipen •Principen ”En funktion en lösning” •Samverkansprincipen •Ägarskapsprincipen Styrande principer

20 Datum och namn Principen om kanoniska tjänstegränssnitt •Tjänstegränssnitt organiseras i verksamhetsdomäner och publiceras i namnrymder motsvarande dessa domäner –En tjänstedomän är en uppsättning gränssnittsdefinitioner för en verksamhetsdomän, t.ex. Beställning och Svar •All integration mellan processer och system sker via dessa s.k. kanoniska gränssnitt Styrande principer

21 Datum och namn Organisationsoberoende •System ska i alla avseenden kunna användas på nationell nivå. –T.ex. ska tjänstegränssnitt och informationsmodeller ha nationell vy av informationen. Styrande principer

22 Datum och namn Principen för löst kopplade tjänster •Integration sker mot tjänster publicerade av Plattform för Tjänsteorienterad Integration (PTI) - inte direkt mot publicerande system –PTI är en regionövergripande tjänste-mäklare som synliggör alla regionens tjänster via kanoniska gränssnitt och ansvarar för samverkan med nationella tjänster. Styrande principer

23 Datum och namn Skiktprincipen •Tillämpningars presentationsskikt ska kunna kompletteras eller ersättas utan ingrepp i applikationslogik. •Understödjande begrepp och tekniker –Orkestrerande tjänst: Definierade av den yttre referensarkitekturer. –Relaterar till Principen om kanoniska tjänstegränssnitt och Principen för löst kopplade tjänster Styrande principer

24 Datum och namn Grundfunktionsprincipen •System ska baseras på de gemensamma grundfunktionerna - inte inkludera interna motsvarigheter Styrande principer

25 Datum och namn Principen ”En funktion en lösning” •Vi eftersträvar en lösning för varje funktion. Systemstöd ska upphandlas, utvecklas och driftsättas med detta i åtanke. •Understödjande begrepp och tekniker –Verksamhetens karta över tjänstedomäner vägleder definitionen av funktioners omfattning –Relaterar till Grundfunktionsprincipen Styrande principer

26 Datum och namn Samverkansprincipen •System ska vara anslutna till regionala och nationella standards för samverkan, där så är tillämpbart. Vid upphandling tas hänsyn till standards under utveckling. •Understödjande begrepp och tekniker –Standards som i en framtid förväntas bli tillämpbara: Teknisk samverkan: BIF, Teknisk RIV, Siths etc –Semantisk samverkan: HL7, … Styrande principer

27 Datum och namn Ägarskapsprincipen •Referensarkitekturens instansiering ska ske i harmoni med organisationens ansvarsstrukturer –Detta kan leda till kompromisser mellan ideal arkitektur och krav på livscykelhantering. •Understödjande begrepp och tekniker –Tjänstedomäner och system ska ha definierade ägare för livscykelns alla faser –Respektive systemförvaltare äger sina anpassningskomponenter, även om de tekniskt realiseras i PTI. Styrande principer

28 Datum och namn Referensarkitektur – yttre/inre •Referensarkitekturen är uppdelad i en yttre och en inre arkitektur. •Den yttre arkitekturen beskriver integration mellan tjänstedomäner –Genom en tjänsteorienterad arkitektur •Den inre arkitekturen beskriver arkitekturen inom ett system. –I idealfallet är system=tjänstedomän Referensmodeller

29 Datum och namn Referensarkitektur – yttre •Tjänstedomänerna grupperar de integrationstjänster som krävs för att realisera verksamhetens processer •Tjänstedomänerna i sin tur kan vara indelade i olika verksamhetsdomäner •Integrationstjänsterna kan vara orkestrerande eller atomära Referensmodeller

30 Datum och namn Referensmodell - Yttre arkitektur Referensmodeller

31 Datum och namn Referensarkitektur – inre •Baseras på ”Service Component Architecture” (SCA) •Grunden för modularisering inom system är verksamhetskomponenter. •Ett system är i idealfallet det samma som en tjänstedomän (yttre ark). •Det är verksamhetskomponenterna som realiserar integrationstjänsterna (yttre ark). Referensmodeller

32 Datum och namn Inre arkitektur: Ett system med dess verksamhetskomponenter Referensmodeller

33 Datum och namn Referensmodell - Inre arkitektur, översikt Referensmodeller

34 Datum och namn Verksamhetskomponenter •Grunden för modularisering av ett system •Verksamhetskomponenter ordnas i en hierarkisk struktur •Varje komponent representerar ett väl avgränsat funktionsområde •Klassificeras efter den typ av funktionalitet de representerar: informationsorienterad, processorienterad, adapter eller plattformskomponent Referensmodeller

35 Datum och namn Verksamhetskomponenter - forts •Representerar ett för verksamheten relevant begrepp •Realiseringen kan spänna över så väl användargränssnitt, som verksamhetsregler och informationshanteringsregler Referensmodeller

36 Datum och namn Verksamhetskomponent - lagerindelning :Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt :Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Regler av mer bearbetande karaktär, som spänner över flera av de ägda informationsobjekten. Dessa regler kan också referera till andra – i hierarkin underordnade – entitetskomponenter. Regler för åtkomst och lagring av en logiskt sammanhängande delmängd av en informationsmodell. Regler som rör presentation, flödesstyrning och rent allmänt att reagera på händelser från omgivningen. Anslutningsskiktet kan definiera ett användargränssnitt för administration av den ägda informationen. Detta ska inte vara ett processtödjande gränssnitt, utan enbart erbjuda informationstjänster som är hårt kopplade till den ägda informationen. Anslutningsskiktet kan också fånga händelser från systemets omgivning genom att realisera integrationstjänster. Webgränssnitt Referensmodeller

37 Datum och namn Samverkan yttre och inre arkitektur Referensmodeller

38 Datum och namn Teknisk arkitektur •Realiseringen av den logiska arkitekturen/referensmodellerna •Den tekniska arkitekturen består av: –Detaljerade anvisningar inom ett antal områden –Verktyg för att generera upp ”skelett” för system och komponenter –Viss ramverkskod –Exempelapplikationer och PoC Teknisk arkitektur

39 Datum och namn Största utmaningen: Återanvändning av användningsfall Användnings fall Process- tjänst Data- tjänst Affärsnytta Teknisk arkitektur

40 Datum och namn Hur komponentifiera användningsfall? Teknisk arkitektur

41 Datum och namn Användningsfall som komponenter Jämförbart med att anropa en modal dialog i Swing! «webcomp» :Edit Address Entry «webcomp» :NewCategory «webcomp» :AddressList 1: editAddressEntry(long) :entryId of new Entry 1.1: addNewCategory() :CategoryId 1.2: addNewCategory() :CategoryId Teknisk arkitektur

42 Datum och namn Webbimplementation jmfr med rik klient •Jämförbart med ”modala under-dialoger” •Varje dialog är knuten till back-end logik Användningsfalls logik Tjänster back-end Teknisk arkitektur

43 Datum och namn Återanvändning •Användningsfall ska kunna återanvändas både inom en verksamhetskomponent och av andra verksamhetskomponenter i ett system. •Ett återanvändbart användningsfall måste kunna packas som en jar-fil under WEB-INF/lib: •Detta innebär att JSP är uteslutet. Teknisk arkitektur

44 Datum och namn Referensarkitekturen – CM-struktur Teknisk arkitektur

45 Datum och namn Runtimeperspektiv Address List Add Category Address Entry Srv Verksamhetskomponent 1 Verksamhets- komponent 2 Module Teknisk arkitektur

46 Datum och namn Valda ramverk – Java webbapp •Baskrav –Webbkomponenten ska kunna packas i en (eller flera) jar-fil. –“Tom” WEB-INF katalog (förutom jar-filerna under lib..) –Stöd för continuations- gör det enklare att utveckla användningsfallen •Spring WebFlow – användningsfallslogik –Tydlig separering av workflow-logik. –Kraftfullt, expressivt, enkelt, stöd för (liknande) continuations. •Facelets – Presentationslogik –None-intrusive map HTML – låter webbdesignern designa HTMLen i sitt verktyg –Stöd för jar-packetering! –Gjort för JSF (till skillnad från JSP) •JSF – Request-hantering –Java standard. –Stödjer jar-packetering. –“Döljs” av Spring WebFlow Teknisk arkitektur

47 Datum och namn JSF •Används endast för att bootstrappa Spring Webflow •Osynlig i webb-komponenterna •Generisk faces-config i respektive “module”: org.springframework.webflow.executor.jsf.FlowNavigationHandler org.springframework.webflow.executor.jsf.DelegatingFlowVariableResolver com.sun.facelets.FaceletViewHandler org.springframework.webflow.executor.jsf.FlowPhaseListener Teknisk arkitektur

48 Datum och namn Portlets •Ursprungligen fanns krav på portabilitet mellan portlet och webbapp. –Detta fungerade inte i praktiken –Även kravet på återanvändbara användningsfall har släppts för portlets. •Nuvarande rekommendation för portlets är att hålla dem så minimala som möjligt: –I syfte att få ett utgångsläge för uthopp till extern applikation Teknisk arkitektur

49 Datum och namn Tekniker för portletsutveckling •För portlets finns i dagsläget två rekommenderade vägar: –Med leverantörsspecifika verktyg. •I IBM-fallet innebär det verktyget ”PortletFactory” som kan användas för att bygga en portlet som konsumerar webservicar. –Med hjälp av JSR 168 eller JSR 286 APIet. •Utestående frågor: –Webb-ramverk (utöver standard-APIerna). –Ramverk för webservices-anrop. Teknisk arkitektur

50 Datum och namn Miljöer •Utveckling –Apache Tomcat –Apache Pluto för portletutveckling (JSR 168) –Open Portal Container för portletutveckling (JSR 286) – I avvaktan på Apache Pluto 2.0 –Eclipse 3.4 (Ganymede) med WTP •Deployment –WebSphere Application Server 6.1 –WebSphere Portal Server 6.0 •Byggsystem •Maven 2 –Genererar Eclipse-beroenden och projektfiler Teknisk arkitektur


Ladda ner ppt "Datum och namn Öppna Program: Referensarkitektur Introduktion."

Liknande presentationer


Google-annonser