Mikkelin sähköisen asioinnin alusta: Toimittajan näkökulma. Kalle Launiala, ProtonIT Oy

Samankaltaiset tiedostot
Kuntalaisen rajapinta sähköiseen asiointiin. Kalle Launiala, ProtonIT Oy

Toimittaja Looginen väylärakenne + kirjastot. Kalle Launiala, ProtonIT Oy kalle.launiala@protonit.net

ADM Arkkitehtuuritason automaatio #tdarc

Visual Studio T4 Tyhjästä hallittuun generointiin #tddev. Kalle Launiala.

Ohjelmistotuotannon itse-automatisointi Avoin menetelmä nykyisten tekijöiden työn radikaaliin tehostamiseen

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa

7.4 Variability management

Toimittaja Sovellusarkkitehtuuritason pilkkominen. Kalle Launiala, ProtonIT Oy

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

Mikkelin sähköisen asioinnin alusta - päätöksenteko. Kalle Launiala / ProtonIT Oy kalle.launiala@protonit.net

SOA SIG SOA Tuotetoimittajan näkökulma

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy


Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta

Microsoft Dynamics CRM 4.0. Jani Liukkonen

KODAK EIM & RIM VIParchive Ratkaisut

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

Onnistunut Vaatimuspohjainen Testaus

HSMT J2EE & EJB & SOAP &...

Avoimen ja yhteisen rajapinnan hallintamalli

.NET 2006 ja sen jälkeen

SMART BUSINESS ARCHITECTURE

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Security server v6 installation requirements

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

Älykkäämmät integraatiot palveluväylän avulla

Mammutti vai elefantti?

Security server v6 installation requirements

Koodistoeditorin toteutuksen lähtökohtia: KaPA-koodistopalvelu ja REST-rajapinnat

KADA (Drupal 7) migraatio uuteen (versioon) webiin

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Portaaliteknologiat mahdollistavat ajattelutavan muutoksen

Tiedonsiirto- ja rajapintastandardit

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen

A Service-Oriented Architecture (SOA) View of IHE Profiles

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

Työasemien hallinta Microsoft System Center Configuration Manager Jarno Mäki Head of Training Operations M.Eng, MCT, MCSE:Security, MCTS

Use of spatial data in the new production environment and in a data warehouse

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Pilottipalvelun esittely johtopäätökset

Semanttiset web-palvelut AS Syksy Eetu Mäkelä, Tuukka Ruotsalo

Tutkimusdata ja julkaiseminen Suomen Akatemian ja EU:n H2020 projekteissa

API:Hack Tournee 2014

Ajankohtaisia SOA tutkimusteemoja

Avoin lähdekoodi hankinnoissa Juha Yrjölä

KAOS 2015: Integraatioiden standardointi suunnittelumallien avulla. Ilkka Pirttimaa, Chief ICT Architect, Stockmann ICT

Oha-selvitys 2008 HISinOne-järjestelmän arviointi

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke

Tietojärjestelmien integroiminen hyödyntämällä palvelupohjaista arkkitehtuuria. CASE: Metropolia. Jaakko Rannila & Tuomas Orama 1

Liite A Määritelmät 1 (6)

ruovedellä pohjois-hämeessä. lepounit.com (yritys) lepo.net (oma)

Työkalujen merkitys mittaamisessa

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

PerustA - Perustietovarantojen viitearkkitehtuuri. Liite 3: Tietojärjestelmäarkkitehtuurin. integraatioarkkitehtuuri

Choose Finland-Helsinki Valitse Finland-Helsinki

6. Arkkitehtuurityylit

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k

TIE Ohjelmistojen suunnittelu

HOJ J2EE & EJB & SOAP &...

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

Yhteentoimivuutta edistävien työkalujen kehittäminen

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri

Avoimen ja jaetun tiedon hyödyntäminen. Juha Ala-Mursula BusinessOulu

Web-palvelukonsepti tarjoaa yhden tavan toteuttaa SOA. Tämä tapa perustuu Web-palvelustandardien käyttöön: palvelut kuvataan WSDL-kielen avulla ja

Toimintaympäristön kuvaus. LTC-Otso Myyjän työkalu (POC)

MichaelPlus. Hankkeen esittely Mikael Vakkari Suunnittelija MichaelPlus hanke

Enterprise SOA. Nyt. Palvelukeskeisen yritysarkkitehtuurin rakentajan näkökulma

Kansallinen sähköinen potilasarkisto Varmenteiden käyttö

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto

LUONNOS RT EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May (10)

TIETOJOHDETTU RAKENNUSPROJEKTI Niko Vironen Kehityspäällikkö Fira Group

Koordinaattimuunnospalvelut Reino Ruotsalainen

FAIRDATA-PALVELUT. CSC Suomalainen tutkimuksen, koulutuksen, kulttuurin ja julkishallinnon ICT-osaamiskeskus

IBM Iptorin pilven reunalla

Suomi.fi-palvelutietovaranto

W3C-teknologiat ja yhteensopivuus

Korkeakoulujen yhteentoimivuusmalli

Taltioni teknisen alustan arviointi

ARTIVA-seminaari

AS Teollisuuden tietojärjestelmät

IoT-platformien vertailu ja valinta erilaisiin sovelluksiin / Jarkko Paavola

C++11 seminaari, kevät Johannes Koskinen

TietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1

Liiketoimintajärjestelmien integrointi

Uuden palvelun lisääminen liityntäpalvelimelle esuomi.fi

Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke

Atostek. KanTa-konseptin tuotteistaminen ja vienti ulkomaille

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

AFCEA PVTO2010 Taistelija / S4

13/20: Kierrätys kannattaa koodaamisessakin

Ylläpito. Ylläpidon lajeja

Kansallinen palveluarkkitehtuuri TUNNISTUSPALVELU INFO

X-Road ja WFS-rajapinnat, uudet APIt. Pekka Latvala , KaPA ja paikkatietoinfrastruktuurin kärkiteeman työpaja

Transkriptio:

Mikkelin sähköisen asioinnin alusta: Toimittajan näkökulma Kalle Launiala, ProtonIT Oy kalle.launiala@protonit.net +358 44 5575665

Toimittajanäkökulman materiaalit Sovellusarkkitehtuurin kontrolli ADM menetelmän esittely Looginen palveluarkkitehtuuri Käytännön kirjastojen konkretiataso yleisillä teknologioilla Uusien hankkeiden sijaan jatkuva ylläpito Sovellusarkkitehtuuritason pilkkominen Erillinen materiaali Hajautettujen järjestelmien yhdistäminen Erillinen materiaali Loogisen palveluväylän muodostaminen Erillinen materiaali

Sovellusarkkitehtuurin kontrolli Olemassaolevan järjestelmän kehityksen haltuunotto

ADM - menetelmä Abstraction Design Methodology Avoin menetelmä, perustuu olemassaoleviin työkaluihin XML ja T4 koodigenerointi (open source,.net corea) Julkaistu ground-up demoja + videoita myöten palvelukerroksen abstraktio-automaatio demoten http://abstractiondev.wordpress.com/2012/03/09/microsoft-techdays-2012-finland-adm-materials/ Mahdollistaa manuaalisen näin koodaat ohjeistuksen paketoimisen automaatio-tuetuksi Normaalisti versionhallittavat ja muokattavat tekstitiedostot rinnastuvat lähdekoodiksi Syntynyt ratkaisemaan tehokkaan ohjeistuksen Otettu lennosta käyttöön Verohallinnon projektissa Korvaa arkkitehtuurin manuaalisen ohjeistuksen Tehostaa arkkitehtuurin hallintaa järjestelmän ylläpitovaiheessa radikaalisti Kertautuu automaation uudelleenkäytön kautta => ylläpidon modernisointi Sitran teettämä neutraali assesmointiraportti menetelmästä (syksy 2011) http://abstractiondev.wordpress.com/references/

ADM korvaa toisteisen informaation automaatiolla... Suunnittelija Määrittelijä Suunnittelija Arkkitehti Toteuttaja Projektipäällikkö Kokonaisarkkitehti Arkkitehti Toteuttaja Raportointi Määrittelyt Dokumentaatio Ohjelmakoodi Dokumentaatio Ohjelmakoodi Statusraportointi Toiminnallisuus Asiakasvaatimusten mukainen sisältö Toteutus Sama informaatio

.. Jossa kukin rooli käsittelee omaa käsitteistöään Määrittelijä Suunnittelija Projektipäällikkö Kokonaisarkkitehti Arkkitehti Toteuttaja Roolikohtainen Semanttinen käsitteistö Automatisoitu transformaatio semanttisten käsitemallien välillä Yhteinen semanttinen käsitteistö Automatisoitu generointi kuhunkin vaadittuun lopputulosmuotoon Raportointi Määrittelyt Statusraportointi Toiminnallisuus Dokumentaatio Ohjelmakoodi Asiakasvaatimusten mukainen sisältö Toteutus

Konkreettinen esimerkki Sovellusarkkitehti, sovellussuunnittelu ja toteutus Hallitsevat todellista reaalimaailman toteutusta Dokumentaatio ja statusraportointi saadaan automatisoitua Suunnittelun looginen taso = looginen käsittelysääntö/määrittely Esimerkit Pallo-alustan kehityksestä Operations (OperationAbstractionFromTheBallCore).doc Status Tracking Document (TheBall.CORE).doc Demovideot dokumentoinnin ja statusraportoinnin generoinnista ja kooditason hallinnasta http://www.youtube.com/watch?v=uozcwjgd0ii&list=pl72c60ec1 3830DA64&index=1 http://abstractiondev.wordpress.com/demo-videos/

Looginen arkkitehtuuri

Yleinen sovellusarkkitehtuuri: Palvelurajapinnat ja datamallit Web Browser HTML5 & jquery Client Application Mobile Application Client To Back-End Service Layer Business Logic Processing External Service Access Internal Data Access Services External Data Access Services External Systems Internal Database Integration Synchronization

SOA-mallin rajapintasopimukset... Native Mobile Client Proxy Classes Interop Contracts (App A) Occasionally Offline Client Proxy + Temporary Logic Routing Web Services For App A Listeners for App A Proxies for App B Interop Contracts (App A with App B) Web Services For App B Listeners for App B Interop Contracts (App A) Web/HTTP Client Proxy + JavaScript UI Agreed logical class/message structures Required for communication contracts - Can be used as-is in mapping to local data structures

... ja niiden loogiset rakenteet... Palvelukonteksti Protokollatason tuki mm. autentikaatio Rajapinnan operaatiot Kutsuttavat operaatiot Käyttävät luokkamallia Rajapinnan luokkamalli Palvelun käyttämä käsite/luokkamalli

... ulottuvat lähdekooditasolle asti Lähtötilanne on määrittelytason rajapintakuvaus Nykyisin tuotetaan suoraan alustatason koodiksi käsityönä SOA/Web Service valtavirrassa kuvataan koodissa Työkalutuki luo mm. WSDL-kuvauksen Hyödyntämällä puhdasta määrittelykuvausta Voidaan automatisoida nykyinen ja myös uusi koodi Mukaanlukien nykyinen tapa (esim. SOA/Web Service) Laajentaa protokollatukea tehokkaasti Laajentaa loogista arkkitehtuuria tehokkaasti

Looginen ajoympäristö Looginen luokkamalli + loogiset operaatiot SOA palvelukutsun komponentit Voimassa oleva konteksti Käyttäjäkohtainen suoritus mm. autentikaatio Palvelukonteksti Protokollatason tuki mm. autentikaatio Rajapinnan operaatiot Kutsuttavat operaatiot Käyttävät luokkamallia Rajapinnan luokkamalli Palvelun käyttämä käsite/luokkamalli Rajapinnan operaatiot Kutsuttavat operaatiot Käyttävät luokkamallia Rajapinnan luokkamalli Palvelun käyttämä käsite/luokkamalli

Palvelurajapinta + toteutus Nykyinen työkalutuki ADM automaatio Kutsuva pää Kutsuva proxy-koodi Käyttö ohjeistamalla hallittua käsityötä Nykyisin generoituu palvelin/wsdl-määrityksestä Generointi työkalukohtaista, ei yleisesti hallittavaa Kutsuva pää Kutsuva proxy-koodi Käyttö + laajennukset automatisoitavissa Generointi hallittua ja laajennettavaa Looginen rajapintakuvaus Määrittely operaatioista käsityönä määrittelyspeksistä Määrittely tietomalleista käsityönä määrittelyspeksistä Looginen rajapintakuvaus Määrittely operaatioista XML:ään Speksin kiinnitys ja generointi Määrittely tietomallista XML:ään Speksin kiinnitys ja generointi Palvelinpää Rajapinnan toteutus Luo WSDL - kuvauksen Ohjeistamalla hallittu käsityötoteutus Palvelinpää Rajapinnan toteutus Generoidaan XML-speksistä Automaatiolla kiihdytetty toteutus

Palvelukirjastot Käytännön konkretiataso

Palveluiden hakemistot/kirjastot ADM mahdollistaa kuvauksen informaation määrämuotoistamisen Voidaan tunnistaa tekninen sekä semanttisen informaation yhteensopivuus Tekninen minimi palvelun kutsumiselle Palvelun nimi Palvelun tekniset parametrit Palvelun tekninen paluuarvo Osoite, josta palvelu löytyy Semanttinen minimi palvelun määrittelyyn Palvelun nimi Semanttisesti MinunApp.HaeHenkilö vs. VRK.HaeHenkilö Palvelun semanttisesti nimetyt parametrit ja paluuarvo MinunApp.HenkilöTunnus vs. VRK.HenkilöTunnus Tekninen + Semanttinen Yhdessä muodostavat palvelun sormenjäljen tai signaturen VRK.HaeHenkilö niminen palvelu Parametri: VRK.HenkilöTunnus Paluuarvo: VRK.Henkilö

Kirjaston toteutusrakenne Auditoitava / sisällön takaava tietovarasto Hajautettu: julkinen/avoin tai yksityinen/suljettu Käyttäjäkohtainen pääsy tietovarastokohtaisesti Yhtenäinen, mahdollisimman laajasti käytetty Ratkaisu = Git: versionhallinta + XML sisältö Koodin hallintaan kehitetty, sisältää luontaisesti tarvittavat piirteet Avoimen koodin toteutus mm. indeksoinnille ja hauille Indeksointi mukautettavissa erillisenä

Hajautettu rakenne These repositories contain the actual ADM-module data. The git technically unique SHA1 hash is used to identify exact version of the module data. Main Commit Repositories Any Other Metadata For Searches Or Anything Else Catalogues simply join the unique SHA1 git ID with URL location where the repository is available. Everything in catalogues and the joined additional assets are bound to commit repository s git SHA1 ID value. Technically any distributed additional asset can be connected with anything else without relying on a catalogue or main commit repository at all. It s easier to understand the whole picture focusing on centralized catalogues, even when everything is genuinely distributed and even the catalogues are as distributed as everything else. Catalogues Standard Dependency Signatures Certification Digital Signatures Vertical Specific Dependency Signatures Searching is based on per-use-basis on the chosen repositories; the catalogues and the metadata providers. This means that the indexing needs to be dynamic based on the currently configurated repository combination. The distributed design allows additional repositories to be plugged in at any given time. The searching (like the indexing) is based on the active configuration of the repositories. Joined Data Indexing And Search Functionality

Lucene indeksointi: Operaatio

Lucene indeksointi: Datamalli

Neo4j graafi-indeksointi riippuvuuslinkitys semantiikasta

Esimerkkirepositoriot Kirjaston sisältöesimerkki https://github.com/kallex/servicecatalogueexample Indeksointitoteutus https://github.com/kallex/servicecatalogueindexer

Jatkuva ylläpito Pilkotun kokonaisuuden mahdollistama jatkuva ylläpito

Ylläpito = 80%+ kustannuksesta Loogisesti pilkottu arkkitehtuuri mahdollistaa järjestelmän hallinnan pienempinä palasina Läpinäkyvä informaationhallinta kehityksessä tukee aktiivista yhteistyötä ja toimittajien vaihtumista Kehitys ja muutoshallinta läpinäkyvää statusraportissa Tarpeen mukaan tehtävä modernisointi minimoi raskaat etukäteisinvestoinnit

Sovellusarkkitehtuurin pilkkominen Järjestelmän tekninen pilkkominen

Loppukäyttäjän perspektiivi Usean järjestelmän tuominen samaan käyttöliittymään

Loogisen väylän rakenne Palvelukirjastojen kiinnitys integraatioihin