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

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


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

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

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

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

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

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

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

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

Action Request System

Java Platform, Enterprise Edition (Java EE)

TIETOKANNAT JOHDANTO

Maiju Mykkänen Susanna Sällinen

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

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

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

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Kurssin hallinta -työväline

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

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

DI Studion käyttökokemuksia. Kaisu Ikonen, Tilastokeskus

Visual Basic -sovelluskehitin Juha Vitikka

SAS sovellusten hallinnointi helpoksi Turbo Charge -menetelmällä Tapio Kalmi, SAS Institute Oy

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Matematiikan oppifoorumi Projektisuunnitelma

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

HSMT J2EE & EJB & SOAP &...

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

VYPEdit verkkosivualusta SVY-toimijoille

Hirviö. Design Patterns

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

9 Edistynyt PHP-ohjelmointi

6. Arkkitehtuurityylit

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

Järjestelmäarkkitehtuuri (TK081702)

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Sovellusarkkitehtuurit

Interfacing Product Data Management System

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

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

KODAK EIM & RIM VIParchive Ratkaisut

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

Hirviö. Design Patterns

CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences

Graafinen käyttöliittymä, osa 1

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Korkeakoulujen yhteentoimivuusmalli

SAP. Lasse Metso

Risto Pelin Microsoft Project 2002 projekti- ja yritystason järjestelmänä

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

Scrumin käyttö ketterässä sovelluskehityksessä

Eero Hyvönen. Semanttinen web. Linkitetyn avoimen datan käsikirja

Avoimet ohjelmistokehykset

13/20: Kierrätys kannattaa koodaamisessakin

Fakta versio Forecast versio

Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä.

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet

HOJ J2EE & EJB & SOAP &...

BORIS 2. Järjestelmän rajapinnat. Samuli Neuvonen, SYKE Rajapinnat tehokäyttöön -seminaari

opiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä.

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

J2EE vs..net Olli Sakari

Käyttöohje. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

Kirjastojen kansallinen metatietovaranto -hanke Yleisten kirjastojen projekti

Paikkatiedot ja Web-standardit

Visma Liikkuvan työn ratkaisut

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

Kehyksillä toteuttettujen tuotelinjojen rakenteellinen optimointi

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

Navistools Standard. Navistools

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

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

Projektisuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

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

Oracle 11g tietokannan päivityksen tarjoamat hyödyt ja kustannussäästöt

Valppaan asennus- ja käyttöohje

TIETOMALLI JA TIETOVARASTO PALVELUKONSEPTI

C# 3.0:n uudet ominaisuudet Language Integrated Query...45

Testidatan generointi

HELIA 1 (11) Outi Virkki Tiedonhallinta

Hintatiedotus ja tietojen välitys. Loppuraportti

<Insert Picture Here> Sisällönhallintaa Web-työpöydälle

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

Visma Business AddOn Installer. Käsikirja

Transkriptio:

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

Eventizer Oy Tietojärjestelmien kehittäminen ja ohjelmistoalan konsultointi Pitkäaikainen kokemus erilaisista ohjelmistoprojekteista Vankka Oracle- ja Java-osaaminen Eventizer -ohjelmistotuote kongressien ja muiden tapahtumien tiedonhallintaan Perustettu 1999, kotipaikka Jyväskylä www.eventizer.com

Sisältö Esitellään uuden Oracle JDeveloper 10g:n mahdollisuuksia rich client -tyyppisten tietokantasovellusten kehittämisessä Työkaluina JDeveloper sekä Oracle Application Development Framework (ADF) Teknologia-alusta: Java 2 Standard Edition v1.4, Swing, JDBC, SQL

Miksi rich client? Interaktiivisempi käyttöliittymä Välitön tietokenttien validointi Monipuolisemmat tiedon esitystavat Lokaali ja client-server-asennustapa Off-line-toiminta

Vaatimukset työvälineeltä Tuottavuuden, ryhmätyön sujumisen ja sovelluksen ylläpidettävyyden varmistamiseksi: Visuaaliset suunnittelu- ja kehitysvälineet Deklaratiivinen ohjemointityyli End-to-end: työväline tarjoaa toimivat ja yhtenäiset ratkaisut sovelluksen kaikille tasoille tietokannasta käyttöliittymään

Esityksestä Oracle JDeveloper 10g Oracle ADF -sovelluskehys ADF Business Components sovelluslogiikka ja tietokantakäsittely ADF JClient käyttöliittymän komponenttien sidokset Käyttöliittymien kehitys JDeveloperilla

I. JDeveloper 10g ja Oracle ADF

JDeveloper 10g Integroitu kehitysympäristö Java- ja tietokantasovellusten kehittämiseen Mallinnus-, kehitys-, debuggaus-, optimointi- ja asennustyökalut, versionhallintajärjestelmien tuki Suurimpana uutuutena 9i-versiosta: Application Development Framework (ADF) Laajennuksilla lisäominaisuuksia Tuotantoversio 9.0.5.1 julkaistu 4/2004

Teknologiapaletti Java 2 Standard Edition v1.4 Mallinnus: UML-kaaviot Tietokannat: SQL, PL/SQL, Java stored procedures, off-line-tietokannat Business-palvelut: EJB, Web Services, ADF Business Components, TopLink Käyttöliittymät: AWT, Swing, ADF JClient Web: Servlets, JSP, Struts, ADF UIX, HTML, XML, Applets Asennus: J2EE-palvelimet, Java Web Start

Oracle ADF Oracle Application Development Framework tarjoaa sovelluskehittäjille visuaalisen, deklaratiivisen ja ohjaavia työkaluja hyödyntävän lähestymistavan J2EE-ohjelmointiin Toteuttaa MVC-mallin mukaisen abstraktion erilaisten tietolähteiden/palveluiden ja käyttöliittymien välille Perustuu standardeihin tekniikoihin, yhteensopiva eri toimittajien sovellus- ja tietokantapalvelimien kanssa

ADF arkkitehtuuri

ADF business services Tietojen tallennus ja haut, O/R-kuvaus, transaktion hallinta ja liiketoimintalogiikan suorittaminen Toteutustavat: ADF Business Components EJB TopLink Web Services Java Beans

ADF view Tuottaa sovelluksen käyttöliittymän käyttäen Swing komponentteja (rich client) tai HTML/XML-sivuja (web/wireless) Toteutustavat: Swing + ADF JClient JSP ADF UIX

ADF controller Hallitsee sovelluksen suorituksen kulkua ja sivujen välistä navigointia websovelluksissa Toteutustavat: Apache Jakarta Struts

ADF model Yhdistää käyttöliittymän view- ja controller-kerrokset tietolähteisiin ja palveluihin Tarjoaa sovelluksille ja käyttöliittymätyökaluille yhtenäisen tavan käsitellä tietolähteitä Model-kerroksen muodostavat ADF data control ja ADF binding -objektit

II. ADF Business Components

ADF Business Components = BC4J (Business Components for Java) Sovelluskehys tietokantapohjaisten sovellusten sovelluslogiikan toteuttamiseksi Toteuttaa sovellusten peruspalvelut, mm.: O/R-kuvaus validointi autorisointi datan puskurointi transaktioiden hallinta sovellusmodulien poolaus

ADF Business Components Huomioi eri sovellusarkkitehtuurien (clientserver vs. 3-tier) ja käyttöliittymätyyppien (rich client vs. thin client) erityisvaatimukset Hyödyntää tietokannan ja SQL-kielen vahvuuksia tiedon haussa ja käsittelyssä Tukee eri toimittajien tietokantoja: Oracle, DB2, SQL Server, SQL92-tietokannat

Liiketoimintakomponentit Liiketoimintakomponentit toimivat sovelluksen tietolähteen rakenteen mallina Entiteettiobjektit esittävät tietolähteeseen tallennettavia objekteja (vrt. taulun rivi) validointi, lukitukset, lisäykset, päivitykset ja poistot Assosiaatiot kuvaavat entiteettien välisiä suhteita (vrt. tietokannan viiteavain) validointi, cascade-delete Domainit ovat erikoistuneita tietotyyppejä, joihin voi liittyä omaa validointilogiikkaa

Tietomallikomponentit Tietomallikomponentit toimivat sovelluksen käyttöliittymän tietomallina Näkymäobjektit hakevat ja puskuroivat tietolähteen dataa käyttöliittymää varten (vrt. SQL-kysely ja sen tulosjoukko) Näkymälinkit vastaavat näkymien tulosjoukkojen välisiä master-detail-suhteita Sovellusmodulit kokoavat sovelluksen käyttämät tietomallikomponentit yhteen ja tarjoavat rajapinnan sovelluskehyksen palveluihin

Komponenttien määrittely Komponenttien määrittelyt luodaan JDeveloperin työkaluilla XML-tiedosto määrittelee komponentin rakenteen ja perusominaisuudet Java-tiedostot (jos tarvitaan) sisältävät sovelluskohtaista logiikkaa ja kustomoivat sovelluskehyksen perustoimintoja Ajon aikana sovelluskehys instantioi määrittelyn mukaisia komponenttiobjekteja

Käyttöliittymä Yleiskuva Näyttö 1 Näyttö 2 Application Module View 1 View Link View 2 Association Entity 1 Entity 2 Tietokanta

III. ADF JClient

ADF JClient JClient-sovelluskehyksen sidosobjektit (binding) yhdistävät Swing-käyttöliittymäkomponentit ADF data control -rajapintaan Kirjastosta löytyy sidokset erilaisille komponenteille ja muutamia erikoiskomponentteja, esim.: tekstikenttä => näkymän valitun rivin attribuutti komboboksi => LOV-näkymä taulukko => näkymän tulosjoukko vierityspalkki => näkymän tulosjoukon vieritys graafit

JClient-näyttöjen luominen JClient-näyttöjä luodaan ja muokataan JDeveloperin työkaluilla: wizardin avulla luodaan näytön runko valitulle näkymäobjektille näyttöä muokataan UI-editorissa raahaamalla uusia kenttiä ja toimintoja kontrollipaletista ja muokkaamalla komponenttien ominaisuuksia Näytön komponentit ja tapahtumankäsittelijät luodaan Java-tiedostoon, komponenttien sidokset määritellään XML-tiedostossa

JClient-näyttöjen muokkaaminen Näyttöjen Java-koodia voi muokata käsinkin, tiettyjä sääntöjä noudattaen JClient-näytöt tukevat uudelleenkäyttöä tietyn näkymän päälle rakennetut näytöt voidaan hyödyntää toisessa sovelluksessa tai saman sovelluksen toisessa näkymäinstanssissa ajon aikana ADF sitoo UI-komponentit metadatan mukaan määräytyvään näkymäinstanssiin ja sovellusmoduliin

IV. Kokemuksia

Kokemuksia JDeveloper 10g: ADF-konsepti uusi, toistaiseksi vähän käyttökokemusta kokemusten perusteella erityisesti käyttöliittymien kehitysvälineet parantuneet konsepti tuntuu toimivalta JDeveloper 9i: Business Components: sovelluskehys on jo kypsää tekniikkaa, todettu toimivaksi oikeissa sovelluksissa JClient: lapsentauteja, mutta toimiva konsepti; puutteena generoidun koodin monimutkaisuus ja työkalujen kehittymättömyys

Puutteita Sovellusten lokalisointiin ei ole työkalua näkymien attribuuttien nimet, formaatit ja tooltipit sekä sovelluslogiikan virheilmoitukset voi lokalisoida helpohkosti, mutta lokalisoidut resurssit hajallaan Isompien sovellusten tekoon tarvitaan käytännössä vielä jonkinlainen oma sovelluskehys: pääikkuna, menut, yhteiset dialogit, sovellusten käynnistys, konfigurointikäytännöt, lokitoiminnot yleiset suunnitteluohjeet (ulkoasu, perustoiminnot) Ei vielä 4GL

Vinkkejä Hyödynnä välineitä aina kun mahdollista tuottavuus paranee, kun työvälineiden käyttö on hallinnassa sovellusten ylläpito helpottuu uuden tekniikan käyttöönotto helpottuu Kouluttaudu tekemällä koeprojekti tai osaprojekti Suunnittele sovellusten ulkoasu etukäteen Älä riko kehitysvälineiden tekemää koodia Suunnittele tietokanta ja liiketoimintakomponentit yhdessä, käyttöliittymä ja tietomallikomponentit yhdessä

Kysymyksiä? jarkko.happonen@eventizer.com www.eventizer.com