Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio siirtyminen) ei ole yhdessä yössä tapahtuva prosessi Siirtyminen edellyttänee järjestelmien rinnakkaista käyttämistä (kesto, ylläpito) Järjestelmäarkkitehtuuri Yhteistoiminnan suunnittelu Älä hylkää vanhoja järjestelmiä Vanhojen järjestelmien korvaaminen vaiheittain uusilla järjestelmillä Liittämisen testaaminen/pilotointi Kehitystoiminnan resurssien säätäminen Eri arkkitehtuureista koostuva järjestelmä EI SAA olla suunnittelun tavoitteena 1
Järjestelmäarkkitehtuuri Java on suunniteltu Käyttöjärjestelmäriippumattomaksi on suunniteltu kieliriippumattomaksi Sovellusten integrointi perustuu standardeihin Sovellusmalli Java-koodi C#, C++, Visual Basic ByteCode-välikieli Java tai kääntäjä MSIL-välikieli Java-virtuaalikone Framework, CLR Käyttöjärjestelmä: Windows, Linux, Solaris Java kieli Java Runtime Enviroment suorituksen aikainen ympäristö Java Enterproce API liitäntöjä palveluihin Java Application Contaíners sovelluksen tukikomponentit Java Application Servers sovelluspalvelin 2
-sovellusten malli Selain palvelin Asiakkaan sovellus Asiakkaan sovellusten säiliö Asiakkaan työasema Servlet JSP sivu Web ajoympäristö EJB komponentit EJB säiliö Java-sovellusten liittäminen Java pidetään siirrettävänä on toisaalta vain standardi sovellustoimittajien suuren lukumäärän vuoksi Java ei ole kovinkaan siirrettävä Minkä sovellustoimittajan sovellusta ollaan liittämässä järjestelmään? Sovellusten toiminnassa voi olla eroa. Java sovellusten liittäminen Vaihtoehdot Esityskerros Liiketoimintakerros Jaetut resurssit Teknologiat Sanomavälitys Web palvelut Wire level ( API tasolla) 3
Yhteistoiminta, teknologia JSP Servlets EJB Palvelut Yhteistoiminta, esityskerros JSP Servlets EJB Palvelut Yhteistoiminta, jaetut resurssit JSP Servlets EJB Palvelut Sanomavälitys palvelu 4
Liittämisen teknologioita Wire level ( API tasolla) Sanomavälitys Web services, palvelut Liittämisen teknologioita Wire level ( API tasolla) Erillisiä tuotteita Hyvää suorituskyky pysyvä yhteys, tietokantatapahtumat Huonoa joustamaton liityntä toimittajakohtaisia toteutuksia Liittämisen teknologioita Sanomavälitys Erillisiä tuotteita (MS, IBM,...) Hyvää joustava liityntä, SOA turvallinen, Huonoa rajoitettu kaksisuuntaisuus yhteisöjen väliset yhteydet - palomuuri 5
Liittämisen teknologioita Web services SOAP, MS, Apache Hyvää löyhästi määritelty Huonoa järjestelmää kuormittava Liittämisen haasteita Tietotyyppien yhteensopimattomuus Vaihdetaan sanomia XML tulisi olla tiedon tyyppinä Sanoman rakenne on määritelty Datan monimuotoisuus Sanomavälitys XML-muodossa Palauttaa merkkijonon Kaikki järjestelmät käsittelevät merkkijonoja Kaikki järjestelmät muodostavat XML merkkijonoja (tekstiä) Ei tarkkaa määrittelyä Tukee versiointia 6