Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000



Samankaltaiset tiedostot
Java Platform, Enterprise Edition (Java EE)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

HSMT J2EE & EJB & SOAP &...

P e d a c o d e ohjelmointikoulutus verkossa

Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari

HOJ J2EE & EJB & SOAP &...

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server. Infotilaisuus klo 10:00

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

Sovellusarkkitehtuurit

Valppaan asennus- ja käyttöohje

Integraatiotekniikan valinta - tie onnistumiseen.

J2EE vs..net Olli Sakari

P e d a c o d e ohjelmointikoulutus verkossa

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

TERADATAN JA SAS DI STUDION YHTEISELO CASE LÄHITAPIOLA

Java- RekryKoulutus. Module Descriptions

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

IBM IT Education Services - DB2 YTR - sertifioinnit

Pedacode Pikaopas. Web-sovelluksen luominen

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?


RDBMS - Yhteyskäytännöt

Matematiikan oppifoorumi Projektisuunnitelma

Tietokantaohjelmoinnin tekniikkoja Java-kielellä

Ansioluettelo, Rauno Inkinen IT-asiantuntija. Esittely. Hei,

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Java EE -sovelluksen resurssien suojaus Case: Toyme Lab Oy

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

EJB-komponenttien tietokantakytkentä

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

TKK: Shibboleth toteutuksia ja projekteja. Markus Melin

Työkalujen merkitys mittaamisessa

ESKO-palvelun jatkokehittäminen

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Nääsvillen oliopäivät.net vrs Java

KIURU Tietotekniikan sovellusprojekti

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

SAP. Lasse Metso

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Sovelluskehitys JDeveloper 10g ja Oracle ADF -välineillä. OUGF Kevätseminaari Jarkko Happonen, Eventizer Oy

Automatisoinnilla tehokkuutta mittaamiseen

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Sisältö. Tapahtumienhallinta. Tapahtumat (transaktiot) Kaupallinen tapahtuma (transaktio)

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Hintatiedotus ja tietojen välitys. Loppuraportti

Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely

Pilvee, pilvee, pilvee TERVETULOA! Toni Rantanen

Rich Web Applications in Server-side Java without Plug-ins or JavaScript

Hajauta yhdistäen ja yhdistä hajauttaen: Web Services

6. Arkkitehtuurityylit

Tuotteistaminen, kannattavuus ja tuottavuus museoissa. Kimmo Levä, FM, MBA Museonjohtaja Mobilia

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

ADE Oy Hämeen valtatie TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus:

Projektinhallintaa paikkatiedon avulla

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

Tekniikka ja kehittäminen Minna Hillebrand Pauli Kujala

SOA SIG SOA Tuotetoimittajan näkökulma

VisualAge for Java-sovelluskehitin

Testidatan generointi

KADA (Drupal 7) migraatio uuteen (versioon) webiin

mitenkään toisiinsa. Liitokset rajoittuvat parhaimmillaankin selain- ja tietokantayhteyksiin. Laajamittaisen yrityssovelluksen ajoympäristön


Lohtu-projekti. Testaussuunnitelma

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

TeliaSonera. Marko Koukka. IT viikon seminaari Identiteetin hallinta palveluna, Sonera Secure IDM

T Projektikatselmus

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Järjestelmäkehitys EJB komponenttien avulla

Visual Case 2. Miika Kasnio (C9767)

1. Vuokrausohjelmiston yleiskuvaus Focusa vuokrausohjelmisto on uusinta web-teknlogiaa hyväksi käyttävä web-ohjelmisto.

Kokemuksia käyttäjätunnistuksen ja käyttöoikeushallinnan käyttöönotosta

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kiuru-sovelluksen arkkitehtuuri

Visma Liikkuvan työn ratkaisut

PLA Mobiiliohjelmointi. Mika Saari

Ohjelmistojen mallintaminen. Luento 11, 7.12.

HTTP-välityspalvelimen käyttö tapahtumien keräämiseen

Java EE -arkkitehtuuri. Lipitsäinen Arvo, HAAGA-HELIA

KODAK EIM & RIM VIParchive Ratkaisut

MIKKO-projekti ja mittausten automatisointi

Web Services tietokantaohjelmoinnin perusteet

6. Arkkitehtuurityylit

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Johannes Koskinen. Osittavat arkkitehtuurityylit

Ohjelmistoarkkitehtuurit kevät

Scrumin käyttö ketterässä sovelluskehityksessä

Action Request System

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

MYYNTI- VALMENNUKSEN OSTAJAN OPAS MIISA HELENIUS - POINTVENUE

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Transkriptio:

Case TUHTI 17.12.2002 1 TietoEnator 2002 Projektin tunnuslukuja! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999! Otettu tuotantokäyttöön syksyllä 2001! Proof of Concept (5 henkilöä 4 kk) -> ohjeistus ja pilottisovellus! Projektissa on tekijöitä n. 30 tällä hetkellä joista n. 15 työskentelee Javalla! Online käyttötapauksia n. 100 kpl! Tietokannassa n. 200 taulua! Java luokkia n. 5000 17.12.2002 2 TietoEnator 2002 1

Arkkitehtuuri (1999)! Ajateltiin ensin SAP R/3! Asiakas halusi räätälöidyn sovelluksen! Päädyttiin J2EE-arkkitehtuuriin! WebSphere + DB2! EJB! Object/Relational-mapping entity beaneilla! Session beanit fasadiksi entity beaneille! Lisäksi eräohjelmat, jotka on tehty C:llä 17.12.2002 3 TietoEnator 2002 Liikkuvat osat Front-end Back-end Swing-client VisualAge for Java HTML-client WebSphere Studio/notepad RMI/IIOP HTTP WebSphere WLM Loadbalancing Cisco Arrowpoint Session Beans updates updates querys Servlet JSP javascript, css Application Server WebSphere 3.5.4 AE Entity Beans CMB CMB JDBCfinders JDBCupdates NT4 /IBM Netfinity JDBC Database Server DB2 UDB 7.1.3 Stored procedures (Java) Database Cbatchprograms AIX / IBM RS/6000 17.12.2002 4 TietoEnator 2002 2

Framework! Päätettiin rakentaa oma framework J2EE:n päälle! Frameworkiin kuuluu palikoita Swing-käyttöliittymän rakentamiseen, tietokannan käsittelyyn sekä tiedon välitykseen käyttöliittymän ja sovelluspalvelimen välillä! Kattavat how-to tyyliset ohjeet koodaajille 17.12.2002 5 TietoEnator 2002 Resurssit (1999)! Yhdellä ihmisellä kokemusta Javasta! Monia C- ja DB2-osaajia! Edellinen järjestelmä oli meidän tiimin tekemä räätälöity sovellus! Aloitettiin koulutus! Lainattiin ihmisiä muista tiimeistä! Aloitettiin rekrytointi! Käytettiin alihankkijoita! Käytettiin IBM:n konsultteja 17.12.2002 6 TietoEnator 2002 3

Toteutustyön jakaminen Kerrosjako+asiakokonaisuusjako. Toteutusvastuu/risteyskohta. Tarkempi jako: Java-paketti / toteuttaja. Yleiset osat Asiakokonaisuus Asiakokonaisuus Asiakokonaisuus Kerros Käyttöliittymä 1 Käyttöliittymä 2 Käyttöliittymä 3 Kerros Palvelut 1 Palvelut 2 Palvelut 3 Kerros Tietovarasto 1 Tietovarasto 2 Tietovarasto 3 17.12.2002 7 TietoEnator 2002 Välineet (1999)! VisualAge for Java 2.0! Javalla kirjoitettuja stored procedureja! JSP ja HTML-sivut kirjoitettiin WebSphere studiolla ja notepadilla 17.12.2002 8 TietoEnator 2002 4

VisualAge for Java! Aloitettiin versiolla 2.0! JDK 1.1.6! Erittäin buginen.! 1999 lopussa: Versio 3.0! JDK 1.1.7! Mukana tuli WebSphere Test Environment, joka vastasi silloista WebSpheren versiota 3.0! Yhä buginen 17.12.2002 9 TietoEnator 2002 VisualAge for Java! Kesä 2000: Versio 3.5! JDK 1.2.2! WebSphere Test Environment 3.5! Varsin stabiili! Kesä 2001: Versio 4.0! JDK 1.2.2! WebSphere Test Environment 3.5.3!!!! Varsin stabiili 17.12.2002 10 TietoEnator 2002 5

WebSphere! Käytössä versio 3.5.6! Lastentaudeista vihdoin päästy! Toimii varsin luotettavasti, enää muutama pieni asia avoinna! Hallintatyökalut onnettomia! Suorituskyky on riittävä 17.12.2002 11 TietoEnator 2002 Versionkasaus ja deployment! Ovat VisualAgen ja WebSphere 3.5:n kanssa työlästä! Ei ole mahdollista automatisoida Antilla tms. työkaluilla! WebSphere Studio Application Developerin ja WebSphere 4.0:n kanssa huomattavasti helpompaa! Kokonaan automatisoitavissa 17.12.2002 12 TietoEnator 2002 6

Entity beanit! Alunperin kaikki tietokantaoperaatiot piti tehdä entity beaneilla! Huomattiin nopeasti että monimutkaisten kyselyiden tekeminen oli hidasta, jopa mahdotonta! Plan B: Tehdään haut suoraan JDBC:llä, päivitykset entity beaneilla 17.12.2002 13 TietoEnator 2002 Entity beanit! Monimutkaisissa päivityksissäkin alkoi tulla ongelmia! Päivitykset entity beanien kautta menivätkin kantaan oudossa järjestyksessä! JDBC:tä ja entity beaneja ei oikein voinut sotkea samaan transaktioon! Tietokannan eheysrajaoituksia ei voinut käyttää! Monimutkaiset päivityksetkin alettiin tehdä suoraan JDBC:llä 17.12.2002 14 TietoEnator 2002 7

Entity beanit! Entity beanien käytöstä uudessa koodissa luovuttiin kesällä 2001! Yhä käytössä joissain vanhoissa käyttötapauksissa, joihin ei ole tarvinnut tehdä muutoksia, tullaan todennäköisesti korvaamaan JDBC:llä niissäkin kevään aikana 17.12.2002 15 TietoEnator 2002 Opittua! Automatisoi regressiotestaus niiltä osin kun se on mahdollista! Automatisoi versionkasaus, integroi usein! Hanki ainakin yksi tai kaksi erittäin pätevää osaajaa omaan tiimiin! Java ohjelmointikielenä on aikuistunut 17.12.2002 16 TietoEnator 2002 8

Opittua! Sovelluspalvelin tarjoaa paljon hienoja ominaisuuksia joiden pitäisi nopeuttaa työtä! Älä käytä niitä!! Pidä arkkitehtuuri yksinkertaisena, KISS! Älä käytä entity beaneja! Älä käytä epästandardeja ominaisuuksia! Varo myös uusia standardejakin ominaisuuksia 17.12.2002 17 TietoEnator 2002 No mitä hyötyä siitä sovelluspalvelimesta sitten on?! Muutama pieni juttu:! Toimii servlet containerina ja kääntää jsp-sivut! Hoitaa tietokantayhteyksien poolauksen! Hanskaa transaktiot, begin ja commit/rollback! Toimii palvelimena RPC-kutsuille 17.12.2002 18 TietoEnator 2002 9

Mihin J2EE on menossa?! Paisuu! Uuden J2EE 1.4 speksin mukaisessa sovelluspalvelimessa pitää olla: Java IDL API ja RMI-IIOP tuki (CORBA-tuki) Kokonainen JMS-toteutus Web Services JavaMail toteutus eli sähköpostin lähetys JTA eli hajautetut transaktiot Java Connector Architecture JMX 17.12.2002 19 TietoEnator 2002 Mihin WebSphere on menossa! Paisuu! WebSphere 3.5:n ja VisualAgen tuki loppuu kesällä 2003! WebSphere Studio Application Developer Rakennettu Eclipsen päälle (www.eclipse.org)! WebSphere Application Server 4 ja 5 17.12.2002 20 TietoEnator 2002 10

Kysymyksiä? Kiitos! heikki.linnakangas@tietoenator.com 17.12.2002 21 TietoEnator 2002 11