e-irattár oracle apex-ben -...

44
Egy fejlesztés tapasztalatai E-Irattár Oracle APEX-ben

Upload: dangtram

Post on 16-Mar-2018

244 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Egy fejlesztés tapasztalatai

E-Irattár Oracle APEX-ben

Page 2: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

FirstLine Experts

QNSZT

Projekt résztvevők

Page 3: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Tartalom

e-Zóna csomag

e-Irattár és Apex

Az APEX előnyei

Kihívások a fejlesztés során

Page 4: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

GLOBÁLIS MEGOLDÁS,

SZINKRONBAN A TERMÉSZETTEL

irodai termékcsomag

Page 5: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Globális megoldás,

összhangban a természettel

Szolgáltatás, amely a kimenő és beérkező elektronikus

számlázást oldja meg

Alkalmazás az elektronikus dokumentum kezelés,

a papír dokumentum kiváltására

Az elektronikus dokumentumok archiválására szolgál

Page 6: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Az e-számláról

A papír alapú számlával teljesen egyenértékű.

Sérthetetlen, mert pdf formátumú, amelyhez egy XML

csatolmány tartozik.

Hiteles, mert

elektronikusan aláírt és minősített időbélyeggel

rendelkezik, de

Minden példány eredeti példánynak minősül.

Page 7: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Kinyomtassam – ne nyomtassam?

A dokumentumok és számlák elektronikusan kerülnek tárolásra?

Nincs több papír rakosgatás!

Elveszett a számlám, vagy

mégsem!!!???

Nem találom, hogyan

keressem meg?

Itt a NAV/KPMG…. –

Hiteles ez a dokumentum?

Tényleg befér egy fiókba

az összes dosszié?

Page 8: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Kinek jó ez?

A cégnek, mert

nem kell hatalmas hely a dokumentumok tárolására

A dolgozóknak, mert könnyű keresni a dokumentumok között

Az auditoroknak, mert

gyorsan megkapják a szükséges anyagokat

A Földnek,

mert csökken a papír, festék felhasználás

Önnek, mert egy hatékonyabb és

környezettudatos

Page 9: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Hogyan működik?

Azonnal elérhető web-es felület

Online dokumentum fel- és letöltés

Hipergyors keresés

Nincs bevezetési költség – csak annyit fizet amennyit használ

A legkorszerűbb biztonságos dokumentum tárolás és elérés

Törvényileg meghatározott és elfogadott dokumentum

hitelesítés – PKI alapon

NAV formátumú adatszolgáltatás

Page 10: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Hogyan működik, a technika

Az elektronikus dokumentumok

(pl: e-számlák) elektronikus formában kerülnek

tárolásra – megadva a dokumentum metaadatait

(mikor került archiválásra, ki archiválta, mik a

dokumentum alapadatai)

A papír alapú dokumentumokat beszkenneljük,

ellátjuk a megfelelő metaadatokkal

és továbbítjuk az E-Irattárba

Page 11: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Hogyan működik, a technika

A dokumentumok

a bekerülés pillanatában hitelesítésre kerülnek és

ellátjuk őket időbélyeggel

Az időbélyeg a dokumentum hitelességét igazolja akár

11 évig

A dokumentum bármikor újra idő-bélyegezhető és

korlátlan ideig tárolható

Page 12: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Egy fejlesztés tapasztalatai

E-Irattár Oracle APEX-ben

Page 13: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

e-Irattár – technológia

APEX 4.1.1

Glassfish 3.1.2.2

Oracle 11gR2 XE

Page 14: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

e-Irattár - üzleti igények

e-Zóna programcsomag része –

Integráció az e-Számlacentrum és az e-Iktató rendszerekkel

Közös autentikációs és autorizációs megoldás

Rendszer/szervezet/felhasználó szintű beállítások

Job kezelés

Nyomon követhető javítócsomagok

Page 15: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

e-Irattár - üzleti igények

Papír alapú és teljesen vagy részben elektronikus

dokumentumok tárolása archivált, digitálisan aláírt és

hitelesen időbélyegzett elektronikus dokumentumként

Jó teljesítmény

Nagy megbízhatóság

Biztonság (pl. HTTPS)

Szolgáltatásként és kihelyezett szerverként is

Page 16: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Oracle Application Express

Web alapú komplett fejlesztőeszköz (RAD tool) és

keretrendszer egyben

Ingyenes

Mint fejlesztőeszköz:

közös fejlesztés támogatása (beépített issue tracker, felhasználói visszajelzés)

query builder és adatbázis adminisztrációs eszközök

export / import

workspace, user, security

debugger, log

Mint keretrendszer (ld. a továbbiakban)

Page 17: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

APEX az e-Irattárban Ezért választottuk

Gyors, intuitív fejlesztőeszköz

Rengeteg előre elkészített "alkatrész"

pl. condition-ök, validációk, automatikus rekord lekérés és adathasználat

Komplett UI eszközkészlet

menük, breadcrumbok, listák, riportok, stb.

Űrlap, táblázat, wizard generálás

Dinamikus listák

Autentikáció, autorizáció

Többnyelvűség támogatása

Testre szabható

Page 18: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

APEX és e-Irattár - a megvalósítás

MVC-jellegű felépítés

1. Model

nagyrészt PL/SQL csomagok, ritka esetben közvetlenül

APEX

2. View

APEX

3. Controller

részben APEX

részben PL/SQL csomagok

Page 19: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

APEX és e-Irattár - a megvalósítás

APEX alapeszközök (form, riport)

Egyszerű logika (view)

Összetettebb logika (PL/SQL)

Page 20: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Bejelentkezés és jogosultságok

APEX beépített bejelentkezés

Custom authentication

saját fejlesztésű PL/SQL security package

context-ben tárolt jogosultsági szint, login adatok

SQL-ben, PL/SQL -ben és így APEX-ben is

használható

Séma alapú jogosultságkezelés

Autorizációs sémák - érvényes/nem érvényes

oldalak, régiók, oldal elemek sémához köthetők

Context cache

Page 21: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Bejelentkezés és jogosultságok

Page 22: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Sablonok és témák

25 beépített téma

15 oldal sablon, összesen 70-80 oldal és régió sablon

témánként

Könnyen testre szabható

közvetlenül szerkeszthető HTML kód

fájlrendszerből elérhető CSS kód

0. oldal: közös oldal elemek

minden oldalon elérhető elemek

egyedi láthatóság (pl. oldalszámra, jogosultság)

e-Irattár alapelemei:

főmenü, lebegő menü, breadcrumb, info panelek, táblázatok, űrlapok

Page 23: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Riportok

Széleskörű beépített funkcionalitás

statisztikákhoz, táblázatokhoz ideális

Klasszikus riport: statikus, előre konfigurált

Interaktív riport: szabadon, akár felhasználó által is

konfigurálható

összeállítható szűrési feltételek

aggregátumok, számított oszlopok

grafikonok

export (CSV, HTML, e-mail)

oszlop láthatóság, elemszám / oldal

globális és felhasználó szintű lekérdezés mentés / visszatöltés

Page 24: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Riportok

Page 25: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Szövegtár és többnyelvűség

Alkalmazás szintű szövegtár

Nyelvenként megadható szövegek

Könnyű fordíthatóság

felületen

XLIFF export

Elérhető APEX-ben és PL/SQL-ből egyaránt

wwv_flow_lang.system_message

Token csere lehetőség

Page 26: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Szövegtár és többnyelvűség

Page 27: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

e-Mail kezelés és queue

Beépített levélküldés

apex_mail csomag

utl_smtp csomagra épül -> adatbázis biztonsági

beállítások szükségesek (csomag jogosultság, ACL)

Saját mail queue -> minden elküldött levél a sorba kerül

Ütemezett, kötegelt queue ürítés

SMTP beállítások az APEX adminisztrációs felületen

menedzselhetők

Page 28: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

e-Mail kezelés és queue

szövegtár + e-Mail kezelés =

nyelvfüggő, sablon alapú e-Mailek

Page 29: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

e-Mail kezelés és queue

apex_mail.SEND (

p_to => l_emails,

p_from => l_admin_address,

p_subj => l_subject,

p_body => l_message_text,

p_body_html => l_message_text_html

);

l_message_text := wwv_flow_lang.SYSTEM_MESSAGE(

p_name => ‘MAIL_REG_SUCCESS’ -- Sablon neve

,p0 => l_client_name -- %0 helyére: ügyfélnév

,p1 => l_username -- %1 helyére: felh. név

,p2 => l_password -- %2 helyére: jelszó

,p3 => TO_CHAR(SYSDATE, 'YY.MM.DD HH:mm')

,p_lang => ‘hu’ -- szöveg nyelve

,p_application_id => 101 -- alkalmazás azonosító

,p_security_group_id => wwv_flow_api.GET_SECURITY_GROUP_ID

);

Page 30: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Oracle XE: 11 GB korlát vs. e-Irattár

Irattárban a legnagyobb helyigény: dokumentumok

-> dokumentumok tárolása a fájlrendszeren!

Véletlenszerű, hash alapú fájlnevek

Az adatbázisba csak a fájlnév és a meta adatok

kerülnek

=> a 11 GB korlát csak a meta adatokra és kiegészítő

táblákra érvényesül

A fájlok LOB-okként kezelhetők

Page 31: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Oracle XE

Fájl letöltés átadása a böngészőnek

owa_util.mime_header('application/octet', FALSE); htp.p('Content-length: ' || l_length); htp.p('Content-Disposition: attachment; filename="' || l_orig_file_name || '"'); owa_util.http_header_close; wpg_docload.download_file(l_bfile);

Page 32: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Összetett feladat: kötegelt

archiválás Feladat: kötegelt archiválás SFTP-n feltöltött

dokumentumhalmazból

masszív hibaellenőrzés, informatív hibajelentések

betöltési folyamatok nyomon követhetősége

javítási lehetőség, újraindítás, engedélyezés

Page 33: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Összetett feladat: kötegelt

archiválás Ütemezett feladatindítás: Job scheduler

Több lépéses betöltési folyamat vezérlése: Scheduler

chain

Fájlok összegyűjtése, áthelyezése, takarítás: Bash

scriptek scheduler job-okon keresztül indítva

Vezérlőfájl betöltés, ellenőrzés: XMLDB + XSD

Adatkezelés, meta-adat ellenőrzés, duplikáció

ellenőrzés, jogosultságok, adatfeldolgozás, stb.: PL/SQL

package-ek

Page 34: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Összetett feladat: kötegelt

archiválás Meta-adat csatolmány generálás: XMLDB

Kötegelt PDF konvertálás, aláírás: Bash script + e-

Szignó szerver

Információs és figyelmeztető levél küldés: APEX mail

Monitoring és vezérlőfelület: APEX riport + javascript

Page 35: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Összetett feladat: kötegelt

archiválás

Page 36: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Összetett feladat: kötegelt

archiválás

Page 37: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Kihívás: összetett keresés

Változó mennyiségű és típusú meta-adatok

Fix dokumentum attribútumok

Testre szabható kritériumok

Adattípustól függő beviteli mezők

szám - tartomány

dátum - tartomány

szöveg - megadható keresési mód

értéklista - dropdown

Az eredmény rendezhető

Minden szűrt oszlop látszik

Page 38: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Kihívás: összetett keresés

Fix 4 oszlopos klasszikus riport

speciális lekérdezés:

apex_item.* csomag űrlap elem metódusai

saját form/lekérdezés generátor csomag

meta-adat típus azonosító alapján konkatenálja a megfelelő apex_item.* hívásokat

pl. apex_item.select_list, apex_item.text, apex_item.hidden,

A bevitt adatok elérhetők a wwv_flow.g_f01 -

wwv_flow.g_f50 collection-ökön keresztül

Keresés gomb -> metódus hívás = query string

Page 39: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Kihívás: összetett keresés

Klasszikus riport

type: SQL Query (PL/SQL function body returning SQL

query)

Headings Type: PL/SQL

Oszlopnevek felületen: COL01...COLn

de (oszlop sorszám alapján) ugyanúgy testre szabhatók!

A csomagunk tovább bővült:

build_search_query(...), get_headers(...)

(Keresés gomb)

PL/SQL -> query építés -> "cache"

PL/SQL -> fejléc lekérdezés -> "cache"

Page 40: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Kihívás: összetett keresés:

Page 41: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Oracle XE vs. Oracle SE One

XE 1 GB memória használatra képes

XE maximum 11 GB méretű DB-t tud kezelni

XE maximum 1 CPU-t használ

SE One több adatbiztonsági funkcióval rendelkezik

SE One jobban skálázható

SUPPORT!!!

Page 42: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

Összegzés

Az APEX használata nagymértékben rövidítette a

fejlesztési időt

Könnyen, gyorsan hozhatóak létre a felületek

Sok egyéb támogatás: több nyelv, jogosultsági rendszer,

stb...

Az Oracle XE a projekt fejlesztési fázisban remekül

megfelel az igényeknek

Később az Oracle Standard Edition One vagy az Oracle

Enterprise Edition jöhet

Page 44: E-Irattár Oracle APEX-ben - konferenciak.advalorem.hukonferenciak.advalorem.hu/uploads/files/E-Irattár Oracle APEX-ben... · Tartalom e-Zóna csomag e-Irattár és Apex Az APEX

http://www.qnszt.hu

http://www.firstline.hu

http://www.ezona.hu

Köszönjük a figyelmet!