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

Post on 16-Mar-2018

244 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Egy fejlesztés tapasztalatai

E-Irattár Oracle APEX-ben

FirstLine Experts

QNSZT

Projekt résztvevők

Tartalom

e-Zóna csomag

e-Irattár és Apex

Az APEX előnyei

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

GLOBÁLIS MEGOLDÁS,

SZINKRONBAN A TERMÉSZETTEL

irodai termékcsomag

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

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.

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é?

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

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

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

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ó

Egy fejlesztés tapasztalatai

E-Irattár Oracle APEX-ben

e-Irattár – technológia

APEX 4.1.1

Glassfish 3.1.2.2

Oracle 11gR2 XE

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

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

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)

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ó

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

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

APEX alapeszközök (form, riport)

Egyszerű logika (view)

Összetettebb logika (PL/SQL)

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

Bejelentkezés és jogosultságok

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

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

Riportok

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

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

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

e-Mail kezelés és queue

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

nyelvfüggő, sablon alapú e-Mailek

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

);

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

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);

Ö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

Ö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

Ö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

Összetett feladat: kötegelt

archiválás

Összetett feladat: kötegelt

archiválás

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

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

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"

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

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!!!

Ö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

http://www.qnszt.hu

http://www.firstline.hu

http://www.ezona.hu

Köszönjük a figyelmet!

top related