www.solita.fi solita@solita.fi



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

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

Ohjelmistoarkkitehtuurit. Kevät

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

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

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri

HSMT J2EE & EJB & SOAP &...

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

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

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

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

HOJ J2EE & EJB & SOAP &...

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

Microsoft Visual Studio 2005

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

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

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

Potilastiedot ja tietoturvallisuus Käyttäjähallinta ja tietoturva kertakirjautumisella

J2EE vs..net Olli Sakari

Ohjelmistoarkkitehtuurit. Kevät

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

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

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

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

TYPO3 - Open Source Enterprise CMS

Konesali ilman rajoja Kongressi A

Integraatiotekniikan valinta - tie onnistumiseen.

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

Portaaliteknologiat mahdollistavat ajattelutavan muutoksen

Pedacode Pikaopas. Web-sovelluksen luominen

Viestinvälitysarkkitehtuurit Lähtökohta:

Juhani Gurney Teknologiajohtaja. Peppi-projekti ja ESP (Eduix SOA Platform)

Kuntien integraatioalusta. Hannes Rauhala

.NET 2006 ja sen jälkeen

SOA & Ajax Sanahelinää vai toimivaa käytäntöä sähköisessä asioinnissa? Fenix hankejohtaja Harri Juuti Projektipäällikkö Teemu Karvonen

Espoon kaupungin kehittyminen - paikkatietotyökalu johtamisen tukena. Alueraportointi

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

Ohjelmistotuotanto. Luento

Federoitu keskitetty sovellus

Käyttäjähallinta liiketoiminnan selkärankana. Ratkaisuna LDAP-hakemistot

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

Viestinvälitysarkkitehtuurit

Opetushallitus. ServiceMix POC

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

Rajapinnat kuntajärjestelmissä #Kuntamarkkinat

Palvelualustat karttojen julkaisemiseen verkkokäyttöön

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

Scrumin käyttö ketterässä sovelluskehityksessä

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

in condition monitoring

YTHS Raportointijärjestelmähankkeen

SmartShip Connect Lite lisäosa WooCommerce alustalle (c) Webbisivut.org

AMP IT UP! Microsoft Dynamics TM NAV 5 julkaisu Jani Liukkonen

JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 9. Virtualisointi ja pilvipalvelut teknologia-arkkitehtuurin suunnittelussa

Lisää virtaa kirjastoille!

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

Sovellusarkkitehtuurit

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

Johdatus ArcGIS-ohjelmistoon

Web Services tietokantaohjelmoinnin perusteet

Pilvi mitä, miksi ja miten

ISACA Finland OWASP The OWASP Foundation. Timo Meriläinen Antti Laulajainen.

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

ITMill Vaadin Spring Framework -integraatio

Tekniset vaatimukset Tikon 6.4.1

Taltioni teknisen alustan arviointi

LIIKENNEDATA HYÖTYKÄYTTÖÖN

Lohtu-projekti. Testaussuunnitelma

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

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

ORACLE INFORMATION AGE APPLICATIONS ORACLE FUSION MIDDLEWARE ORACLE GRID

Osaaminen varmistaa että asiat tulevat tehdyiksi!

Microsoft Office SharePoint Server 2007

RDBMS - Yhteyskäytännöt

ARTIVA-seminaari

Liiketoimintamuutos lähtöinen tietoteknisen ratkaisun suunnittelu

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

Pedacode Pikaopas. Web Service asiakasohjelman luominen

Portaalit. HT Antti Auer TieVie-kouluttajakoulutus Jyväskylä

Onnistunut ohjelmistoprojekti

KODAK EIM & RIM VIParchive Ratkaisut

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

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

Tekninen suunnitelma - StatbeatMOBILE

WWW-Sivustojen suunnittelu. Miten WWW toimii. Suunnittelun lähtökohdat

WWW-Sivustojen suunnittelu

Smart cities - nyt ja huomenna

Uutta Remote Support Platform 3.1 -versiossa

Avoimet ohjelmistokehykset

Pcounter. Kategoria Ominaisuudet

HY:n alustava ehdotus käyttäjähallintotuotteesta

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

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

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

Paikkatietojen yhteiskäyttö - mitkä mahdollisuudet!

Ohjelmistoarkkitehtuurit kevät

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

Transkriptio:

www.solita.fi solita@solita.fi

JAVA-SOVELLUSTEN RAKENTAMINEN INTEGROITUUN YMPÄRISTÖÖN Jarno Peltoniemi Solita Oy 10.5.2005

Aiheet Johdanto Portaalit, portletit Oracle Portal Java-sovelluksen rakentaminen portaaliympäristöön Sovellusarkkitehtuuri Erityishuomioita Esimerkkicase: Myyntiportaali Ympäristö: Lähtötilanne, tavoitetila Integraatiopisteet Käytetyt teknologiat Prosessi Päätössanat

Johdanto

Portaali Yritysportaali on keskitetty kanava tiedon jakamiseen ja sovellusten julkaisemiseen web-ympäristössä Integraatioalusta, jolla yrityksen sovellukset koostetaan yhteen

Portaalien ominaispiirteitä Yhtenäinen ulkoasu Monikielisyys Sovellukset käytettävissä yhdellä kirjautumisella Pääsynvalvonta Personoitu sisältö Tiedon koostaminen eri lähteistä Julkaisuprosessi

Portaalin sivukomponentit Staattinen sisältö Portlet - dynaamista sisältöä tuottava portaalisovellus Tietosisältö voidaan hakea portaalin ulkopuolelta Myös koko portletsovellusta voidaan suorittaa portaalin ulkopuolella

Oracle Portal Taustalla Oracle tietokanta, jossa Metadata Staattinen ja dynaaminen sisältö sekä Osa portaalin toimintalogiikasta. Keskitetty käyttäjänhallinta ja kertakirjautumisjärjestelmä Helppokäyttöinen WYSIWYG-editointi portaalisisällölle web-käyttöliittymässä

Sivukomponentit Oracle Portaalissa Staattinen sisältö: teksti, kuvat, linkit, html Lukuisia tapoja tehdä dynaamisia sivukomponentteja: Java-portlet PL/SQL-portlet Portaalin sisällä tehdyt dynaamiset komponentit Tiedon kaappaus muilta web-sivuilta Strukturoidun, ulkopuolisen tiedon esitys (Web Services, XML, SQL) Kaikille tavoille löytyy hyviä käyttökohteita Opettele useampi kuin yksi tapa, valitse tarpeeseen sopivin

Java-sovelluksen rakentaminen portaaliympäristöön

Java-sovellusten rakentaminen portaaliin Java-portletteja ajetaan J2EE-containerissa Portaali ohjaa portlet-sovellusta verkkorajapinnan yli Oracle Portaalissa oma protokolla, standardiprotokollakin on olemassa (WSRP - Web Services for Remote Portlets) Oracle Portaalissa oma portlet API, standardirajapinta Java-portleteille on myös määritelty (JSR-168)

Portaalisovelluksen erot perinteiseen sovellukseen nähden Protokolla määrittelee eri tyyppisiä pyyntöjä (JSR- 168: action ja render) Erillinen API sovellusten rakentamiseen Portaalissa URL-osoitteet eivät osoita suoraan portletin resursseihin vaan ohjaavat portaalia Portaaliympäristössä URL-osoitteiden rakentamiseen oma palvelunsa Eri tiloja portlet-ikkunalla (esim. maximized) ja portletsovelluksella (esim. help) Portlet-sovellus generoi vain osan lopullisesta HTMLsivusta

Java ja portlet-sovellukset Yleinen web-sovellusten arkkitehtuuri Solitassa Miten portlet-rajapinta otetaan mukaan?

Business Service DAO Implementation Java-sovellusten arkkitehtuuri: sovelluslogiikka Sovelluslogiikka koostuu palvelukerroksesta ja Domain Model tietomallista Pelkästään tavallisia Java-olioita Tiedon haku tietokannasta yleensä ORM-työkalulla Uudelleenkäytettävä paketti

Web-sovellusten arkkitehtuuri Kuorrutetaan sovelluslogiikkapaketti web-rajapinnalla Käytetään jotakin MVC-kehystä: Model Sovelluslogiikkapaketti View JSP Controller Liima välissä Vastaavasti kuorruttamalla palveluun voitaisiin toteuttaa etärajapinta esim. Web Services tai EJBtekniikoilla Etäkutsurajapintoja ei ole järkevää käyttää sisäisesti websovelluksessa vaan ainoastaan integraatiorajapintoina

Web-sovellus portlet-maailmaan Protokollien, API:n ja URL-osoitteiden erot aiheuttavat päänvaivaa Protokolla ja rajapinta voidaan sovittaa siltakomponentilla URL-luonti kannattaa kätkeä rajapinnan taakse Sivujen yhteiset osat luodaan ehdollisesti vain web-ympäristössä, portlet-ympäristössä generoidaan vain osittaisia sivuja

Portlet- ja servlet-rajapintojen siltakomponentit Oraclen siltakomponentti StrutsRenderer Välittää sivuosoitteen portlet-parametrinä Strutsin JSP-tagikirjastoa on muutettu toimimaan Oraclen portletympäristössä StrutsRenderer toimii myös muilla sovelluskehyksillä kuin Strutsilla Voidaan yhdistää tagikirjastoon, joka generoi URL:it läpinäkyvästi sekä servlet- että portlet-ympäristössä Standardiportleteilla täysin erillinen API Paljon sillattavia rajapintoja, jos käytetyssä MVC-kehyksessä riippuvuus Servlet-ympäristöön Voidaan kuitenkin ratkaista samalla tavoin kuin Oraclen portlet API:n kanssa Paras ratkaisu olisi MVC-sovelluskehys, jossa servlet/portlet rajapinnat olisi valmiiksi kätketty abstraktion taakse

Esimerkkicase Myyntiportaali

ERP 1 ERP 2 Lähtötilanne: Ympäristö Käytössä useita toiminnanohjausjärjestelmiä Samaa tietoa eri muodoissa eri järjestelmissä ERP 3

Integraatiotietokanta ERP 1 ERP 2 ERP 3 Ympäristö: integraatiokanta Toiminnanohjausjärjestelmät integroitu Oracle-tietokantaan Integraatiokanta toimii läpinäkyvästi yhtenä, yhtenäisenä toiminnanohjausjärjestelmänä, mm. Saatavuushaku Tilausten teko

Tavoitetila: Myyntiportaali Myyntiportaali Integraatiotietokanta Yksi, yhtenäinen käyttöliittymä myyntijärjestelmään Laajennettavuus, uusien sovellusten tuontimahdollisuudet => Portaali ERP 1 ERP 2 ERP 3

Myyntiportaali Oracle Portal 10g Release 1 (9.0.4) Toteutettiin myyntiportaalin sovelluslogiikkapaketti ja sen päälle Javaportletteja Asiakkaille tarkoitetut sovellukset Järjestelmän ylläpitäjien sovellukset Integraatio olemassa olevaan käyttäjänhallintaan

Myyntiportaalin integraatiopisteet Integraatiotietokanta Keskitetty käyttäjänhallinta Microsoft Active Directoryssa Portaalirajapinta

Käyttäjänhallinta Käyttäjien ja ryhmien ylläpito Active Directory Myyntiportaali Oracle Internet Directory Käyttäjätiedot Active Directoryssa Oracle Portal käyttää aina omaa käyttäjähakemistoa Synkronointi Oracle Directory Integration Platformilla Käyttäjien ja ryhmien synkronointi

Käyttäjähakemiston synkronoinnissa huomioitavaa Hakemistopuun rakenne Rakenteiden hierarkkisuus säilyy synkronoitaessa Huomioi synkronointitarve jo lähdehakemiston rakennetta suunniteltaessa Tietosisältö Hakemistoissa pakollisia kenttiä, eri hakemistoissa eri kentät ovat oletusarvona pakollisia Synkronointi Rajaa siirrettävä tieto tarkasti Virhetilanteet, seuranta

Portaalisovellukset Core Customerweb Integraatiotietokanta Admin-web Web-käyttöliittymä, silta portletympäristöön Palvelukerros, tietokantakerros Core-moduulissa palvelu- ja tietokantakerrokset Core-moduulin päälle rakennettu kaksi itsenäistä käyttöliittymämoduulia: customer-web ja admin-web Kumpikin käyttöliittymä toimii sekä portaalissa että itsenäisenä sovelluksena Tulevaisuudessa tarkoituksena toteuttaa Web Services -integraatiorajapinta erillisenä moduulina coremoduulia hyödyntäen

Java-sovelluskehitys: Käytetyt teknologiat Oracle Portal Developer Kit Spring Framework Hibernate Open Solita komponentit Lisäksi muutama pienempi Open Source tuote

Prosessi Kehitysväline Eclipse IDE Yksikkötestaus kehityksen ohessa Jatkuva integraatiotestaus ajastettuna Web-käyttöliittymän testaus Tomcat 5.0:ssa, perinteisenä web-sovelluksena Toimituspaketin luonti Vienti testiympäristöön, hyväksymistestaus portaaliympäristössä portlet-sovelluksena Vienti tuotantoympäristöön

Käyttöönotto Portaalin käyttöönotto ei ollut heti mahdollista Sovellusta käytettiin aluksi perinteisenä websovelluksena Onneksi sovellus toimi myös ilman portaalia Sovellus otettiin käyttöön kahdessa portaalissa Molemmissa oma graafinen ilmeensä Sovellus mukautui helposti kumpaankin portaaliin

Päätössanat

Odotukset lähivuosille Sovelluskehitys portaaliympäristöön yleistyy Oraclen sovelluspalvelimeen vihdoin tuki WSRP-standardille ja JSR-168-portleteille Standardiratkaisut portaalisovellusten tekemiseen Laajempi portlet-tuki valmissovelluksiin standardien avulla sekä omiin että kolmansien osapuolten tuotteisiin

Kiitokset! Kysymyksiä saa lähettää ( jarno.peltoniemi@solita.fi) Hauskaa päivänjatkoa!