24
Višekorisnički ADF razvoj „by the book” Sektor za informatiku i telekomunikacije Patrik Franković Gordan Krstičević Mirjana Lončar Ivana Tadić Luka Kolembus

Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Višekorisnički ADF

razvoj „by the book”

Sektor za informatiku i telekomunikacije

Patrik FrankovićGordan KrstičevićMirjana LončarIvana TadićLuka Kolembus

Page 2: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za poslovnu informatiku

Sektor za informatiku i

telekomunikacije Uvod

� Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u

� Vođeni Oracle preporukama� Dislocirani timski rad

Malo ili nikakvo znanje u ADF-u

2

Dislocirani timski rad� Malo ili nikakvo znanje u ADF-u

Page 3: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za poslovnu informatiku

Sektor za informatiku i

telekomunikacije HEP - SIKT

� 40-tak developera� Forms/Reports 6i službena verzija alata� Ostale podržane tehnologije

Forms/Report 10, ADF, .NET, Flex, Angular ….Više deklarativni nego suštinski timski

3

Angular ….� Više deklarativni nego suštinski timski

rad� Nema standardne metodologije

� U tijeku je reorganizacija aplikativnog razvoja i podrške

Page 4: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za poslovnu informatiku

Sektor za informatiku i

telekomunikacije O projektu

� Coal Information Management – CIM

� Upravljanje podacima o

poslovanju ugljenom

� Detaljno opisan projektni zadatak

� „Evidencijska” aplikacija

� 5 članova IT tima

4

� 5 članova IT tima

• 2 senior

• 1 middle

• 2 junior developera

• Samo 1 član s iskustvom u ADF

razvoju

• Mala posvećenost projektu zbog

drugih poslova višeg prioriteta

Page 5: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za poslovnu informatiku

Sektor za informatiku i

telekomunikacije Razvojno okruženje

� Jdeveloper 12.1.3.

� Subversion – version management

� U početku bez razvojne i

produkcijske verzije weblogic servera

� BI Publisher 11g – reporting alat

5

BI Publisher 11g – reporting alat

Page 6: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za poslovnu informatiku

Sektor za informatiku i

telekomunikacije Pilot projekt

� Višekorisnički razvoj

� Učenje nove tehnologije i alata

� Primjena nove metodologije

� Primjena novih oblika komunikacije

� Stvarni timski rad

6

Stvarni timski rad

� Primjena i/ili prilagodba standarda u

razvoju

Page 7: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za poslovnu informatiku

Sektor za informatiku i

telekomunikacije ADF arhitektura

� Koristiti mogućnost neovisnog, ali

usko vezanog razvoja

� Maksimalno (is)korištenje Task Flow-

ova

� Podjela projekta na module i svaki

7

Podjela projekta na module i svaki

developer je zadužen za razvoj

određenog modula(logičke cjeline)

Page 8: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektor za informatiku i telekomunikacije

ADF arhitektura by Sten Vesterli

8

Page 9: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektor za informatiku i telekomunikacije

Master Application BTF AppBTF AppBTF App

ADF Library JAR

Common ADF BC Application

Model

AppModule

View

Object

View

Object

Entity

Object

Entity

Object

Entity

Object

Entity

Object

View

Object

View

Object

9

Master Application

ViewController

Unbounded Task Flow

jspx jspx

ADF Library JARADF Library JARADF Library JAR

BTF App

ViewController

Bounded

Task Flow

Bounded

Task Flow

jsff jsff

Model

AppModule

View

Object

View

Object

BTF App

ViewController

Bounded

Task Flow

Bounded

Task Flow

jsff jsff

Model

AppModule

View

Object

View

Object

BTF App

ViewController

Bounded

Task Flow

Bounded

Task Flow

jsff jsff

Model

AppModule

View

Object

View

Object

Page 10: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektor za informatiku i telekomunikacije

Common Application BTF Application

Model

AppModule

View

Object

View

Object

BTF Application

Model

AppModule

View

Object

View

Object

ADF Library JAR

Model

AppModule

View

Object

View

Object

Entity

Object

Entity

Object

Master ApplicationsFramework

extensions

Keyword: reuse

ViewController

Bounded

Task Flow

Bounded

Task Flow

jsff jsff

ViewController

Bounded

Task Flow

Bounded

Task Flow

jsff jsff

AppModule

ADF Library JARDeclarative Components

ViewController

Unbounded Task Flow

jspx jspx

Page Templates ADF Library JAR

Skins JAR

ADF Library JARBTF Templates

Page 11: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektor za informatiku i telekomunikacije

Common ApplicationBTF Ugovori

Model

AppModule

View

Object

View

Object

BTF Isporuke

Model

AppModule

View

Object

View

Object

ADF Library JAR

CIM Model

View

Object

View

Object

Entity

Object

Entity

Object

Framework

extensions

BC Helperi

Master Applications

CIM arhitektura

ViewController

Bounded

Task Flow

Bounded

Task Flow

jsff jsff

ViewController

Bounded

Task Flow

Bounded

Task Flow

jsff jsff

VC Helperi

BC Helperi

ADF Library JAR

ViewController

Unbounded Task Flow

jspx jspx

Page 12: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za informatiku i telekomunikacije

ADF arhitektura by CIM tim

Ugovori Isporuke Analize Šifarnici

CIMMasterAppZasebne ADF

aplikacije, deployane u JAR

12

Framework extension

BCHelperi

VCHelperiCIMModel

Page 13: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za informatiku i telekomunikacije

Model(iranje)

13

Page 14: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za informatiku i telekomunikacije

Samostalno timski rad

Trebaju analize za isporuku (ispId)Isporuke Analize

Treb

aju

ugo

vorn

e u

goId

)

14

Ugovori

Treb

aju

ugo

vorn

e is

po

ruke

(ugo

Id

Šifarnici

Svi trebaju šifarnike

Page 15: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektor za informatiku i telekomunikacije

Task Flows

� Više od navigacije� Fragmenti, a ne stranice� Pozivanje Java metoda� Uvjetno izvršavanje naredbi� Vizualni prikaz poslovne logike� Svaka aplikacija ima jedan ili

više Bounded Task Flow-ova

15

više Bounded Task Flow-ova� BTF Template� Transakcijske opcije

Page 16: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za informatiku i telekomunikacije

Integracija

Isp. BTF Anl. BTF Šif. BTF

MasterApp

16

Ugovori BTF (jar)

Page 17: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za informatiku i telekomunikacije

Integracija

Ugovori BTF (jar)

17

Isporuke BTF (jar)

(unutar Ugovora)

Page 18: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektor za informatiku i telekomunikacijeNavigation Management

Problem navigacije kad jedan BTF poziva drugi, a oboje su unutar MasterApp-a i ne znaju za postojanje onog drugog.

18

Page 19: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektor za informatiku i telekomunikacije

BTF standardi

• Pri pozivu BTF-a predaju se ulazni parametri u Map tipu podatka(<String>,<Object>) koji se nalaze u Session Scope managedbeanu

• Kako bi dobili potpunu fleksibilnost poziva drugih modula i upravljanja podacima koriste se slijedeći ulazni parametri

• ACTION= LIST, NEW, EDIT

19

• ACTION= LIST, NEW, EDIT• MODE = READ ONLY, READ/WRITE

• Interakcija s korisnikom ide na „as-dialog” BTF koji se prikazuje u popupprozoru

• Pokušati ugurati svu poslovnu logiku u BTF(metode, akcije, provjere, navigacije)

• Pozivatelj BTF-a iz drugog jar osigurava prostor i brine se o layout-u• Pozivani BTF se brine samo o svom dijelu i osigurava da pozivatelj dobije

što je tražio po zadanim parametrima

Page 20: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektor za informatiku i telekomunikacije

Security

� Implementiran SSO(weblogic 12c) � Korištenje ADF integriranog security-a

� BTF� WebPage

� Mapiranje aplikativnih rola s Enterprise(Active Directory) rolama

20

Page 21: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektor za informatiku i telekomunikacije

Problemi i nedostaci

� Otvaranje više db konekcija – rješenje je Transakcijskim opcijama

BTF-a (Begin New Transaction)

� Subversion noćna mora – nedostatka znanja i iskustva

� Deployment

21

� Problemi s layout kontejnerima

Page 22: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za poslovnu informatiku

Sektor za informatiku i

telekomunikacije Timski rad

� 2 x dvodnevne radionice

� 4 x jednodnevne radionice

� Sharepoint

� Subversion

� MM

22

MM

� „Daily scrum”

� Microsoft Link

� Telefonske konferencije

Page 23: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Sektora za poslovnu informatiku

Sektor za informatiku i

telekomunikacije

Zaključak

� Timske radionice potiču kreativnost� „Daily scrum” povećava dinamiku rada� Visoka produktivnost u zadnjih mjesec(dva)

dana� Povišen(ujednačen) nivo znanja ADF-a� Tim se bolje upoznao� Integracijski problemi rješavani na

radionicama� Podjela posla na logičke module znatno

23

� Podjela posla na logičke module znatno povećava produktivnost uz tri uvjeta:� Ujednačen nivo znanja ADF-a� Postojanje standarda� Postojanje alata za integraciju

Page 24: Višekorisnički ADF razvoj „bythebook” · telekomunikacije Uvod Jednostavan projekt koji smo „zakomplicirali” višekorisničkim razvojem u ADF-u Vođeni Oracle preporukama

Pitanja?

Hvala na pozornosti.

Sektor za informatiku i telekomunikacije