Digitaliseringsstyrelsen Borger.dk Borgerguide 3 (BG3) General Solution Architecture Version: 0.1 ID: 39672 28-10-2012 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) Contents 1 INTRODUCTION ............................................................................................ 4 1.1 1.2 1.3 2 DOCUMENT STRUCTURE AND READING GUIDANCE ...................................................... 4 DOCUMENT HISTORY........................................................................................ 4 TERMS AND ABBREVIATIONS ............................................................................... 4 GLOBAL SYSTEM ARCHITECTURE .................................................................. 6 2.1 GENERAL DESCRIPTION .................................................................................... 6 2.2 DESCRIPTION ..................................................... ERROR! BOOKMARK NOT DEFINED. 2.3 ENTITIES ..................................................................................................... 7 2.3.1 BG3 portal ........................................................................................... 7 2.3.2 CIDR ..................................................................................................13 2.3.3 NemLog-in and NNIT SSO .....................................................................14 2.3.4 OPIS ..................................................................................................15 2.3.5 OIS ....................................................................................................17 2.3.6 FOA ....................................................................................................17 2.3.7 Dokumentboks ....................................................................................18 2.3.8 FORM-Online .......................................................................................18 2.3.9 Local CPR ............................................................................................18 2.3.10 Mail Dispatcher .................................................................................19 3 BORGER.DK PORTAL SOLUTION ARCHITECTURE ......................................... 20 3.1 LOGIC ARCHITECTURE .....................................................................................20 3.2 PHYSICAL ARCHITECTURE .................................................................................21 3.3 SHAREPOINT ARCHITECTURE .............................................................................21 3.3.1 The Web Applications ...........................................................................21 3.3.2 Site collection ......................................................................................22 3.3.3 Multi language setup ............................................................................22 3.3.4 Navigation ..........................................................................................23 3.3.5 Taxonomy ...........................................................................................23 3.3.6 Search ................................................................................................23 3.3.7 Security ..............................................................................................23 3.3.8 Custom databases ................................................................................24 3.3.9 Settings framework ..............................................................................24 4 TECHNOLOGY .............................................................................................. 26 4.1 TECHNOLOGY DIAGRAM ...................................................................................26 4.1.1 Microsoft .Net 4.0 ................................................................................26 4.1.2 Microsoft's Windows Communication Foundation ......................................26 4.2 STANDARDS ................................................................................................26 4.3 PATTERNS AND FRAMEWORKS ............................................................................26 4.3.1 Microsoft Patterns & Practices ................................................................26 4.3.2 Microsoft Enterprise Practices ................................................................26 4.3.3 Managed Extensibility Framework ..........................................................26 4.3.4 Model View Presenter pattern (MVP) .......................................................27 4.4 3RD PART LIBRARIES........................................................................................27 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 2 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) 5 REFERRED DOCUMENTS .............................................................................. 28 6 CHANGE LOG ............................................................................................... 29 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 3 of 29 ID: 39672 General Solution Architecture 1 Digitaliseringsstyrelsen Borgerguide 3 (BG3) Introduction This document describes the general system architecture of borger.dk (version Borgerguide 3) and relevant parts of the related systems OPIS and CIDR together with interfaces with external systems. 1.1 Document structure and reading guidance The intention is to consolidate all relevant architectural knowledge of the Borger.dk Program from the Borger.dk Portals point of view. 1.2 Document history This document is created in phase 2 of the BG3 project after Go-Live of the editor-release and the public-release of the system. 1.3 Terms and abbreviations English Danish Explanation BG3 Portal BG3 The borger.dk portal based on SharePoint 2010. OPIS OPIS ”Offentlig Portal IntegrationsSystem” Domain Services Domæneservices CIDR CIDR The functinality ”Centraliseret Identitet og Delegering af Rettigheder” BG3 Program BG3 Programmet Public users Borgerer Content editors Redaktører Central editor Centralredaktør Article Export Artikeleksporten NemID NemID 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> The system united of BG3 Portal, OPIS and CIDR and other systems. NemID is the new digital Page 4 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) signature that will accelerate the Danish vision of one login for public and private services on the Internet. www.nemid.nu. Private NemID Person NemID Employee NemID Medarbejder NemID IDP IDP Citizen profile Borgerprofil DIGST DIGST Identity Provider Digitaliseringsstyrelsen PAD PAD ”Portal Addin” 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 5 of 29 ID: 39672 General Solution Architecture 2 Digitaliseringsstyrelsen Borgerguide 3 (BG3) Global system architecture This section describes the Borger.dk Portal in global context. 2.1 General description The total solution, referred as “the Borger.dk Program”, consists of a collection of integrated systems. Some of the systems are developed and operated closely connected to the Borger.dk Portal, and others are independent external systems that the Borger.dk Portal relies on. The Borger.dk Portal is the system that provides Danish citizens with public information and options for self service. The portal is based on SharePoint 2010 publishing site functionality with integration to external systems. CIDR serves as authorization provider for editors and systems for both the Borger.dk Portal and OPIS. OPIS handles integration of external functionality in the Borger.dk Portal. NNIT SSO handles communication with NemLog-in in relation to authentication of public users. NemLog-in is authentication provider for public users and editors. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 6 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) Internal Net External Net Mail Dispatcher NNIT SSO NemLog-In BG3 PORTAL CIDR Dokumentboks FOA BDKv2 FORM Online Manual OPIS OIS Lokal CPR CPR Figure 1: Borger.dk Program overview 2.2 Entities The following sections describe the entities in the BG3 Program system. Other systems than the BG3 Portal itself is described from the BG3 Portal point of view. 2.2.1 BG3 portal This is the public facing portal based on Microsoft SharePoint 2010 publishing sites. The portal is accessed by both the public users and content editors. Public users access the portal on the “internet zone” https://www.borger.dk and editors on “extranet zone” https://borgerred.borger.dk. The portal consist (time of writing) of two sister portals, one base portal in Danish “BorgerDK” and another in English “LifeInDenmark”. The two portals are handled in two separate web applications, and use some of the same shared services. The English portal 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 7 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) requires that the Danish is present. For further information see section 3.3.1 The Web Application. 2.2.1.1 User roles The portal is accessed by the following user profiles or roles: Role Type Authentication Claims provider Public user (unauthenticated) Person N/A (public) - Public user (authenticated) Person NemLog-in (OPIS) Central administrator Person NemLog-in CIDR Local editor Person NemLog-in CIDR System administrator Group AD SharePoint Article export request System N/A (public) - (Central administrator + Central editor) 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 8 of 29 ID: 39672 General Solution Architecture Public user (authenticated) Article export web service /_vti_bin/borger/ articleExport.svc Central administrator DIGST Local editor Danish municipalicies Extranet zone: borgerred.borger.dk Internet zone: www.borger.dk Public user (unauthenticated) Digitaliseringsstyrelsen Borgerguide 3 (BG3) Article export request clients Danish municipalicies CMSs 2.2.1.2 Public user login The Borger.dk portal provides login for all public users with a private NemID. The portal uses, via the NNITSSO component, the common public single sign-on and authentication solution NemLog-in as IDP. Only specified user agents are allowed to access the login functionality. The public user log-in process involves the following systems and components: CIDR OPIS NemLog-in NNIT.SSO 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 9 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) NemLogin Every 50 min a timerjob execute this process and cache the result 2 3 CIDR systemidp WSTRUST CIDR adfs NNIT.SSO 5 BG3 HTTPS 4 1 WSFED REST 6 OAUTH CIDR swtsts OPIS System integration Portal integration 1 & 2 The public user click login on borger.dk and the user is redirected to NemLog-in. 3 & 4 The public user log in with NemID on NemLog-in and is sent back to Borger.dk. 5 & 6 With the already cached CIDR token a profile session on OPIS is created and citizen profile (PEX) from OPIS is returned to BG3. 2.2.1.3 Editor login For editors to access the extranet zone, they are required to log-in via NemLog-in using an employee NemID. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 10 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) NemLogin 3: Redirect :4 CIDR ADFS SAML2 1 WIF 2: Redirect :5 BG3 Borgerred Redaktør Redaktør 1 & 2 The editor (redaktør) accesses borgerred.borger.dk and is sent to adfs.cidr.dk. 3 & 4 Adfs.cidr.dk sends the editor to NemLogin and after login the editor is sent back to adfs.cidr.dk 5 Adfs.cidr.dk sends the editor back to Borgerred.borger.dk 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 11 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) 2.2.1.4 Certificate setup Internet zone NemLog-in saml.www.borger.dk Funktionscertifikat Thumbprint: 98... saml.lifeindenmark.borger.dk Funktionscertifikat Thumbprint: 78... Web.config Web.config Extranet zone Borger.dk LifeInDenmark saml.www.borger.dk Funktionscertifikat (STS cerfikatet) OPIS CIDR 2.2.1.5 NemLog-in related logging When NemLog-in is accessed in the public user scenario, security logging is performed according to specifications (see NemLog-in specifications and test cases). Logging in the editor scenarios is handled by CIDR. 2.2.1.6 Interfaces The BG3 portal exposes the following interface. 2.2.1.6.1 Article Export web service To provide the Danish municipalities and others with the option to import content from Borger.dk to their own content management systems, Borger.dk expose a public SOAP based web service. The web service WSDL file is located here: https://www.borger.dk/_vti_bin/borger/ArticleExportAll.svc?wsdl Detailed description can be found in: Detail specification – Article export. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 12 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) 2.2.2 CIDR CIDR is a centralised identification and delegation of rights system also operated by DIGST. CIDR acts on behalf of the connected service providers, to ensure that users and other systems only have access to the functionality and entities to which they have been granted access. CIDR is developed as a pre-required part of the BG3 Program, and it is intended that it is to be used in relations with systems. For further information refer to CIDER – Løsningsbeskrivelse. 2.2.2.1 BG3 relation to CIDR The BG3 Portal uses CIDR to authenticate (NemLog-in via CIDR) and authorise editors and administrators before mapping them to SharePoint roles based on the claims returned from CIDR. BG3 also uses CIDR to authenticate and provide claims for itself as a system towards OPIS. 2.2.2.1.1 User access (person web access control) BG3 CIDR as service provider BG3 as service provider CIDR CIDR as Idp/STS NemLog-in as Idp/STS NemLog-in The user (typical an editor) is authenticated by NemLog-in, and a secure token enriched with CIDR registered privileges is returned to BG3. 2.2.2.1.2 System access (system web service access control) BG3 BG3 as service provider CIDR CIDR as Idp/STS The system is authenticated by CIDR based on the client systems attached certificate and the client systems public key registered in CIDR. CIDR returns a security token enriched with the identity of the client system and related CIDR registered privileges. 2.2.2.2 CIDR configuration in BG3 The connection to CIDR from the BG3 system in set up and maintained in a custom made section of the SharePoint Central Administration site “Central Administration > Borger DK Settings”. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 13 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) 2.2.2.2.1 Connection to CIDR endpoint The following endpoints are used in BG3: CIDR privileges creation IDP security token issuer ADFS security token issuer SWT token consumer 2.2.2.2.2 Related identifiers IDP receiver ADFS receiver 2.2.2.2.3 Related configuration values IDP Client Certificate SWT token timeout 2.2.2.2.4 Related functionality CIDR privileges list Trick CIDR privileges update 2.2.3 NemLog-in and NNIT SSO The login of public users is based on NNIT.SSO and NemLog-in. When logging in the public user still retain an anonymous SharePoint role, but a “User Profile” is created and received from OPIS as basis for the public user personal related functionality. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 14 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) NemLog-in acts as identity provider and authenticate the identity of the public user when he or she logs in using a personal NemID. BG3 1 4 2 NNIT.SSO 3 NemLog-in as Idp/STS NemLog-in 2.2.4 OPIS OPIS “Offentlig portal integrationssystem” is a system that is able to provide attached systems with functionality. OPIS is as CIDR developed as a pre-required part of the BG3 Program, and Borger.dk is created and registered as a portal in OPIS. Refer to OPIS documentation for further descriptions. The communication to OPIS is service based and includes both timer jobs and ad hoc requests. 2.2.4.1 BG3 relation to OPIS 2.2.4.1.1 User profile The user profile of public users, that is returned as xml from OPIS when a public user performs a successful log-in, is concatenated of “Profile extensions” (PEXs) registered in OPIS. This user profile object is base information for the public users person related functionality in BG3 or as input to request external delivered content hereunder PADs also delivered from OPIS. 2.2.4.1.2 Domain services The information services registered to the Borger.dk Portal in OPIS is accessed and included via services. 2.2.4.1.3 Segments (municipalities) The segments for scoped functionality (the Danish municipalities) is created and maintained in OPIS and synchronised with a taxonomy group in the Borger.dk Portal. 2.2.4.1.4 Portal Add-Ins (PADs) The functionality registered to the Borger.dk Portal in OPIS is accessed and included via services. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 15 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) 2.2.4.2 OPIS configuration in BG3 The connection to OPIS from the BG3 system in set up and maintained in a custom made section of the SharePoint Central Administration site “Central Administration > Borger DK Settings”. 2.2.4.2.1 Connections to OPIS service endpoints The following are the OPIS service endpoints used by the BG3 Portal: Host server name All DomainServices Usercontext portal services Single DomainService PortalServices Portal information Municipalities Segments with this Domain service 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 16 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) User session User profile 2.2.4.2.2 OPIS related configuration values The following are OPIS configuration values: Segment List Id Segment Id parameter name Session Id parameter name UserprofileContext parameter name DomæneService egenskab widget Cache timeout 2.2.5 OIS The Public Information Server “OIS” is a government database that brings together a range of information related to private property in Denmark. OIS is not directly connected to the BG3 Portal, but is used by OPIS profile extensions to add address related content to the user profile. 2.2.6 FOA FOA “Fælles Offentlig Adressedatabase” (Common Public Address Database) gathers public addresses and contact information for the state, regions and municipalities in one place. The FOA solution provides REST based web services for getting FOA entities, and the BG3 Portal uses these when displaying contact related information on action pages. 2.2.6.1 FOA configuration in BG3 The connection to FOA from the BG3 system in set up and maintained in a custom made section of the SharePoint Central Administration site “Central Administration > Borger DK Settings”. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 17 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) 2.2.6.1.1 Connections to FOA service endpoints The following endpoint is used by BG3 Portal: FOA Static Endpoint FOA Dynamic Endpoint 2.2.6.1.2 FOA related configuration values Areatype Id Cache timeout Foa Id Foa visit map url 2.2.7 Dokumentboks When a public user is logged on, the user’s number of unread document in the e-boks is displayed. This information is retrieved from an e-boks exposed service. 2.2.8 FORM-Online FORM search words are used by the editors in the BG3 portal to mark up the content. FORM is a public catalogue of the overall level of all tasks performed in the Danish public sector. The FORM search words are handled in a SharePoint taxonomy list, is at time of writing maintained manually. It is the intention that maintenance should be automated. 2.2.9 Local CPR Local CPR is not directly connected to the BG3 Portal, but is used by OPIS profile extensions to add person related content to the user profile. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 18 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) 2.2.10 Mail Dispatcher The mail dispatcher is a separate component that is used for sending both bulk and separate mails from the BG3 News Module. 2Do: The news module is still under development so final description of BG3 related configuration has to be done here. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 19 of 29 ID: 39672 General Solution Architecture 3 Digitaliseringsstyrelsen Borgerguide 3 (BG3) Borger.dk portal solution architecture This section describes the Borger.dk Portal solution architecture in SharePoint perspective. 3.1 Logic architecture Front-end Web servers Application Pool Web application: Central Administration Site Application server Clustered SQL Server Services Applications Application Pool Managed Metadata Search Web application: BorgerDK Web application: LifeInDenmark Site collection & root web Sub sites Content Databases SP Content DB Custom Content DB BorgerDKMySite 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> SP Content DB Custom Content DB BorgerDKMySite Page 20 of 29 ID: 39672 General Solution Architecture 3.2 Digitaliseringsstyrelsen Borgerguide 3 (BG3) Physical architecture A simplified overview of the physical server structure is illustrated here: INTERNET VIP 217.16.109.112 :80 :443 ALL http requests redirects to https VIP 217.16.109.113 :443 VIP 217.16.109.114 :443 VIP 217.16.109.12 :80 :443 Https://CIDR.dk Https://bdkv2.borger.dk Wlan Wlan Https://borgerred.borger.dk Https://www.borger.dk Https://lifeindenmarkred.borger.dk Https://lifeindenmark.borger.dk Https://OPIS.dk Wlan Wlan Ext-es.itst.nnithosting.com FAST Admin FAST Query Web servers CA server Web servers LocalCPR OIS Web servers Web servers CA server SQL Wlan Wlan SP-content Bg3_myPage FAST-query FAST-content SP-config FAST 3.3 LokalCPR SP-Services BG3 OPIS Opis CIDR CIDR SP-content SQL SQL Cluster Cluster BDKv2 (Old borger.dk) SharePoint architecture The BG3 Portal has, time of writing, a Danish and an English part. The content and structure of the two sites is not intended to be 1 to 1. 3.3.1 The Web Applications The solution consists of 2 content bearing web applications. The BorgerDK web application is considered the primary and contains the Danish version and the LifeInDenmark web application is added to support an English version of the Portal. This split is chosen to provide the largest flexibility for the functionality and structure of the Danish and English version of Borger.dk. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 21 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) BorgerDk Farm Web application: LifeInDenmark Web application: BorgerDK https://lifeindenmark.borger.dk Root web (Life in Denmark) https://borger.dk Root web (Borgerdervice) Nyheder Post Min Side Om borger.dk News For myndigheder Zone URL Zone URL Internet https://www.borger.dk Internet https://Lifeindenmark.borger.dk Zone URL Zone URL Editor https://borgerred.borger.dk Editor https://lifeindenmarkred.borger.dk 3.3.2 Site collection Each web application has one single site collection that contains the content in a root site and sub sites. The root site contains all the main content relevant to the public user. This includes article pages with content related to the topics in the navigation taxonomy (emne navigationen). Sub sites are intentional used for content related to other target groups like “For Myndigheder” or special structured content like “Min Side” or News sites. 3.3.3 Multi language setup The Portal is designed to have a single language setup per web application. The text used in the controls and web parts used in the end user interface relies on translations in resource files following the standard SharePoint setup. The setup uses 4 resource files per solution-project (.wsp file). [ProjectName].resx (this default file contains the Danish text). [ProjectName].en-us.resx Where each file must exist in \Items\Resources\Resources\ and \SharePointRoot\Resources\. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 22 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) 3.3.4 Navigation The navigation is based on mapping pages to taxonomy items. Each sub site is intended to have a dedicated terms hierarchy in the custom created Menu terms set in the “BorgerDk Navigation Taxonomy Group”. The presentation of menu items uses the NavigationService that via the TaxonomyService. Further documentation can be found in “Detail Specification – Navigation”. 3.3.5 Taxonomy The SharePoint taxonomy concept is used for handling: The Domain Services that is the information and functionality services defined in OPIS and synchronized to the BorgerDk Domaineservice Taxonomy Group. FORM words that is meta information that editors can use to categorize articles. The collection of FORM words is manually maintained in the BorgerDk FORM Tanonomy Group. List of Danish Municipalities that is maintained in OPIS and synchronized to the BorgerDK Municipalities Taxonomy Group. The article navigation items that is manually maintained in the BorgerDk Navigation Taxonomy Group. Search suggestion words used in the search box is manually maintained in the BorgerDk Search Keyword Taxonomy Group 3.3.6 Search The search functionality is based on Microsoft FAST Search Server 2010 for SharePoint. Further documentation can be found in “Detail Specification – Search”. 3.3.7 Security Borger.dk has 3 zones. The zone are authenticated differently and to be used by different roles of the Borger.dk system. 3.3.7.1 Default zone Default zone is authenticated against active directory and will be used by Operation System Administrators. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 23 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) 3.3.7.2 Extranet zone Extranet zone is authenticated by claims from the CIDR system and NemLogin. This zone will be used by BG3 editors to administer pages and content in BG3. 3.3.7.3 Internet zone Internet zone is authenticated by NemLogin and is used by citizens. 3.3.8 Custom databases There is developed a custom database that serves as repository for custom functionality that require a data base. The database name is BorgerDKSharePointMyPage (the name can be considered misleading, but is due to legacy reasons). The database contains tables related to Audit log My page widget settings and visual settings Error log Newsletter subscribers Consent 3.3.9 Settings framework The purpose of the BG3 settings framework is to make it possible to configure BG3 parameters from the SharePoint user interface i.e. browser. The settings are associated to certain level within the SharePoint setup. The levels are SharePoint Farm, Web Application, Site Collection and Web. Each group of settings are furthermore associated to a specific web context e.g. a specific Web or Site Collection. The technological foundation building blocks of the settings framework are: Property Bags Reflection Attributes Method Extension Framework Microsoft.Practices.SharePoint.Common.ServiceLocation Configuration of the parameter values are located in SharePoint Site Settings on a given page, where an entry for web or site level is listed. The settings framework will dynamically list all available settings groups within a given context e.g. a specific subweb or a site collection. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 24 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) For further information refer to “Detail specification – Settings Framework”. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 25 of 29 ID: 39672 General Solution Architecture 4 Digitaliseringsstyrelsen Borgerguide 3 (BG3) Technology This section is not complete. 4.1 Technology diagram 4.1.1 Microsoft .Net 4.0 4.1.2 Microsoft's Windows Communication Foundation 4.2 Standards The solution follows these standards: Standard Comments XHTML 1.0 Transitional CSS level 3 XML JavaScript 4.3 Patterns and frameworks 4.3.1 Microsoft Patterns & Practices SharePointServiceLocator Settings 4.3.2 Microsoft Enterprise Practices EnterpriseLoggerAdapter 4.3.3 Managed Extensibility Framework ServiceLocator 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 26 of 29 ID: 39672 General Solution Architecture Digitaliseringsstyrelsen Borgerguide 3 (BG3) 4.3.4 Model View Presenter pattern (MVP) The MVP pattern should be used where possible to: To maximize the amount of code that can be tested with automation. To separate business logic from user interface (UI) logic and thereby make the code easier to understand and maintain. 4.4 3rd part libraries Subject Comments jQuery jQuery UI Html Agility Pack Telerik.Web.UI YUI compressor Auto mapper Log4Net Microsoft SharePoint Patterns Randy Drisgal Publishing Master 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 27 of 29 ID: 39672 General Solution Architecture 5 Digitaliseringsstyrelsen Borgerguide 3 (BG3) Referred documents Detail specification – Article export. Detail specification – Settings Framework. CIDER – Løsningsbeskrivelse. OPIS documentation. NemLog-in specifications and test cases. 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 28 of 29 ID: 39672 General Solution Architecture 6 Digitaliseringsstyrelsen Borgerguide 3 (BG3) Change log Date Version Description Initials 07-08-2012 0.1 New document. MDBD 28-10-2012 Version: 0.1 Author MDBD Approved by <initials> Page 29 of 29 ID: 39672