Programmets dokumentation är på engelska medan språket i klassrummet är svenska. Nedanstående sammandrag av sammankomsternas innehåll har därför temarubriker på engelska och beskrivande text på svenska.
Introduction to Program, of Attendees, and to First Get-Together
Programmets första dag inleds med en presentation av programmet och av den första sammankomsten. Omgångens deltagare ges upp till en minut att presentera sig, sitt nuvarande arbete och sin bakgrund för de andra deltagarna.
Importance of Software Architecture and Software Architect Responsibilities
I två på varandra följande sessioner diskuterar vi betydelsen och värdet av god mjukvaruarkitektur. Vi presenterar fem arkitektroller med fokus på mjukvaruarkitektens förhållande till var och en av dem och landar i en beskrivning av mjukvaruarkitektens ansvarsområden.
Software Architecture vs. Software Engineering
Idén om ”Separation of Concerns” har länge styrt den tekniska utformningen av dataprogram. Den gäller i allra högsta grad även vid arkitekturarbete och teknisk design.
Du skall kunna förändra en implementering utan att röra arkitekturen. Du skall också kunna diskutera ändringar i en arkitektur utan att den aktuella implemteringen skymmer sikten. Du behöver dra en tydlig gräns mellan arkitektur och implementering. Men för att kunna göra det måste man ha en tydlig bild av var denna gräns går.
Seven Fundamental Ideas
Hela programmet bygger på sju bärande idéer. Dessa idéer genomsyrar hela programmet, men redan under den första sammankomsten får du bekanta dig med dem och diskutera dem.
Service-Oriented Architecture and Architecture for Organic Growth
Tjänsteorienterade lösningar diskuteras inte så mycket idag som för några år sedan – tjänsteorientering har blivit det mest naturliga sättet att utforma dagens lösningar. En bärande idé med tjänster är att de skall kunna återanvändas, men långt ifrån alla som byggs har kapacitet för den tillväxt som successivt utökat ansvar och successivt utökad förmåga kräver. I två sessioner diskuterar vi det verkliga värdet av tjänsteorienterad arkitektur, och vi visar hur man kan utforma en tjänst för organisk framtida tillväxt utan att använda BDUF.
ISO/IEC /IEEE 42010 and the 2xSundblad Framework
År 2000 etablerade IEEE den första och enda formella standarden för arkitektoniska beskrivningar av mjukvaruintensiva system. År 2007 adopterade ISO/IEC denna standard. År 2011 väntas en ny version bli tillgänglig.
I två på varandra följande sessioner får du insyn i denna standard. Du får också en introduktion till 2xSundblad Framework, ett arkitektoniskt ramverk som utgår från begrepp i ISO/IEC/IEEE 42010 och som hjälper dig att strukturera den dokumentation som växer fram under utformning och implementering av ett system. Det hjälper dig också att ställa de rätta frågorna så att ingen i projektet behöver vara okunnig om vad projektet skall leda till för verksamhetsresultat.
The Agile Electronically Serviced Enterprise
Det agila elektroniskt betjänade företaget betjänas av mjukvara som är strukturerad i enlighet med verksamhetens struktur. Den här delen ger utan användning av BDUF en vägkarta med exempel för etablerandet av en vision av hur framtidens processer, användningsfall och informationsområden utvecklats i harmoni med varandra.
The 2xSundblad Framework Enterprise Views
Ramverkets enterprise-vyer är till för att kartlägga och dokumentera de verksamhetsproblem som skall lösas och de verksamhetsmål som skall uppnås med aktuellt projekt. Det här är inte en stor del av arbetet i en verksamhets- och IT-utveckling, och det är inte heller en stor del av sammankomsten, men det är en del som kan ha avgörande betydelse för hur lyckat projektets utgång kommer att vara.
The 2xSundblad Framework Business Views
Ramverkets verksamhetsvyer är till för att kartlägga och beskriva strukturen i den del av verksamheten som är föremål för projektet. Det gäller både nuläge och önskeläge för processer, användningsfall, information och verksamhetsregler.
Kartläggning, modellering och dokumentation av viktiga verksamhetsföreteelser
I detta tema ingår sessioner som Business and Software Architecture in Harmony, Three Major Elements of Any Business System, Functional Business Process Modeling och Use Case Modeling with Operative Business Rules. Här får du också bekanta dig med innovationer i beskrivningen av användningsfall, och hur användning av UI-mockups kan förbättra kvaliteten på dessa beskrivningar.
Business Information
Här fortsätter vi detaljeringen av Business Views och går i en tudelad session in på den konceptuella vyn av verksamhetens informationsbehov och informationsbidrag. Här vidareutvecklar vi den innovativa beskrivningen av användningsfall och visar hur den, tillsammans med UI-mockups, ger ett fantastiskt underlag för mjukvaruarkitektens arkitektoniska design av tjänste- och datakontrakt. Här får du också se hur du kan gå från de vyer som ger underlag till definition av request- och response-meddelanden till en total konceptuell informationsmodell för problemområdet.
UI Prototyping
Här följer vi upp och vidareutvecklar idén om UI-mockups som underlag för utformning av krav på tjänste- och datakontrakt. Danwei Tran presenterar och demonstrerar Sketch-Flow, Microsofts verktyg för UI Prototyping.
Business Rules
Av de tre grundpelarna i varje verksamhetssystem, informationen, processerna och regelverket, är det förmodligen regelverket vi utvecklare hanterar sämst och till skada för de system vi utvecklar ger minst uppmärksamhet åt. I en rejäl session redovisar vi den OMG-standard som numera finns för området, och vi ger flera exempel på hur verksamhetsregler på ett korrekt och säkert sätt kan identifieras, dokumenteras och implementeras. Vi ger också exempel på verktyg som kan hjälpa dig hantera verksamhetsregler.
Business Improvement Methodologies
I ett kort avsnitt redovisar vi några av de mest populära metodologierna för verksamhetsförbättring, mest i avsikt att du skall ha ett hum om vad de är om du möter dem i dina kontakter med verksamhetsansvariga. Du får här också en kort översikt om funktionsorienterade, processorienterade och capability-orienterade angreppssätt för verksamhetsanalys och verksamhetsförbättring
Software Views
Den här delen inleds med en tydlig demonstration av ramverkets iterativa inriktning. Du får se hur vi här går över från beskrivningen av de verksamhetsproblem som skall lösas och de verksamhetsmål som skall uppnås till att beskriva det uppdrag som ges till IT-systemet för att bidra till uppfyllelse av verksamhetens mål och problemlösningar. I den här delen ingår också ett antal separata sessioner, varav under denna sammankomst The Infrastructure of Shareable Information Pattern ger dig närmare bekantskap med det kanske viktigaste av de arkitektoniska mönster som ingår i programmet. Du får också en ordentlig genomgång av Windows Server AppFabric. Sammankomsten avslutas med ett par sessioner om definition av servicekontrakt och operationskontrakt.
Structural Contracts in WCF
Den förra sammankomsten avslutades med en behandling av beteendeorienterade kontrakt som tjänste- och operationskontrakt. Här sluter vi cirkeln genom att också behandla strukturella kontrakt, det vill säga datakontrakt.
Software Process View
Så följer ett avsnitt runt ramverkets processvyer ur mjukvaruarkitektens synvinkel. Det är här du omvandlar kraven från verksamhetens process- och användningsfallsmodeller till en arkitektonisk IT-modell med tjänster, kontrakt och tjänstegränssnitt. Det är också här du beskriver din arkitektoniska design för olika ”stakeholders”. Att göra detta begripligt och ändå med precision är en utmaning, och i den här sessionen får du se hur ramverket kan hjälpa dig att möta denna utmaning.
Major Architectural Patterns
Vi inledde under föregående sammankomst behandlingen av övergripande arkitektoniska mönster. Nu fortsätter vi genom att i flera på varandra följande sessioner titta närmare på mönster som The User Application and Information Services pattern, The Business Process and Use Case Services pattern, The Business Process Services with Embedded Use Cases pattern, och The Business Process Services with Embedded Information pattern. Vi tittar också närmare på ett mönster som verkligen kommit i ropet, The Command Query Responsibility Segregation pattern (CQRS) och ser hur det förhåller sig till ”våra” mönster.
Less Major Architectural Patterns
Vi tittar också på ett antal mindre övergripande men ändå intressanta arkitektoniska mönster som The Service Wrapper pattern, The Information Aggregation pattern, och The Isolated Conversation pattern. Här ingår också en förberedande session där du får se konsekvenserna av ett felaktigt val mellan kontraktsbaserade och gränssnittsbaserade tjänster.
Cloud Computing och Windows Azure
Under den här sammankomsten tar vi också upp databehandling i molnet i allmänhet och Windows Azure i synnerhet. Du får en introduktion till ämnet, och du får se hur de allmängiltiga arkitektoniska mönster vi redan talat om fungerar i molnet.
The Certification Process
Sammankomsten avslutas med en första genomgång av certifieringsprocessen. Du får värdefull information om hur du skall förbereda dig för ditt framträdande inför panelen och vilken hjälp du kan få för att säkerställa ett lyckat framförande.
Partitioning of Information Model
Den konceptuella informationsmodell du etablerar för lösningen av ett verksamhetsproblem måste så småningom delas in i flera mindre modeller, var och en avseddd för ett specifikt informationsområde och en specifik informationsstjänst. Den första sessionen i denna den femte sammankomsten handlar om hur du åstadkommer det.
Closing the Loop on Business Views
Nu är det dags att runda av behandling av ramverkets Business Views. Du får här inblick i Business Technical och Business Security Views.
Här fördjupar vi också behandlingen av Business Quality View som är särskilt intressant. Det är ju här du (eller Business Architect med starkt stöd av dig) skall identifiera och kvantifiera de mätbara mål projektet skall bidra till att uppfylla. Gör du ett bra jobb här skapar du förutsättningar för ett utvecklingsarbete med rätt inriktning. Du gör det också möjligt för verksamhetsansvariga att mäta uppfyllelsen av de mål som fick verksamheten att investera i projektet. Business Quality View är därför i flera avseende en nyckel till ett bra projektresultat.
Closing the Loop on Software Views
Det är också dags att stänga behandlingen av Software Views. Det som återstår att behandla är vyerna Software Technical, Software Security och Software Quality. Var och en av dessa vyer är viktiga men ibland snålt behandlade. För dem alla gäller att utgå från de krav som ställts upp i motsvarande Business Views och etablera en arkitektur som uppfyller dessa krav.
Technical Design of Service Interior
I fyra separata sessioner redovisar vi förslag till hur en tjänsts insida kan struktureras. Det finns ju inte bara en möjlig strategi utan flera för sådan strukturering. Vi visar ett förslag och utifrån det tar vi också upp andra förslag och jämför med dem. De fyra lagren är – så går vi över till engelska ett tag igen – Service Interface Layer, Service Main Business Layer, Service Data Access Layer och Data Layer.
Example Code for the Implementation and Consumption of an Information Service
I två på varandra följande sessioner redovisar vi fungerande kod som är baserad på den arkitektoniska design vi successivt under programmets sammankomster tagit fram.
The Certification Process
I programmets allra sista session ger vi möjlighet att ställa frågor om certifieringsprocessen. Vi berättade om den under sammankomst 4, men ganska säkert har en del frågor dykt upp i mellantiden.