1
OracleOracle
InterConnectInterConnect- Pagoni files -- Pagoni files -
KC Server Development & Programming Languages11 mei 2006Harm Verschuren
2
Agenda
• Business Case Pagoni• Process Flows• Application Integration• Architecture InterConnect• The Components
– Repository– Adapters– Development Kit iStudio
• Messaging– Publish/subscribe paradigm
• Questions & Answers
3
Business Case Pagoni
Pagoni:Boekhouding rondom grondexploitatie bij gemeenten.
Module Budgetbewaking:Fin. beheer rondom offerte-trajecten:- aanvragen machtigingen- toetsen (goedkeuren) machtigingen- verwerken boekingen
Machtingingen en boekingen uitwisselen naar resp. van externe applicatie. (Finance module Oracle e-Business Suite)
4
Goedkeuren
Toetsen Machtigingen
Validatie
Update machtigingenSet = status = ‘G’ …
enqueue
AQ-adapter IC
pks_mtg_consumer
dequeue
IC HUBBudget-aanvragen
e-Business Suite
Process FlowToetsen machtigingen
1. Geautoriseerde gebruiker toetst een machtiging enkeurt deze goed (transactie).
2. Business rule valideert of demachtiging uitgewisseld(gepublished) moet worden met extern systeem.
3. Update Machtiging en plaatsde machtiging op een queuevoor uitgaande berichten.
Indien de transactie fout loopt,wordt de update en de enqueueterug gedraaid.
4. Published berichten worden opgepakt door de IC hub en doorgestuurd naar allesubscribing applicaties.
5
Process FlowVerwerken boekingen
E-Business Suite IC Hub
AQ Adapter
pks_bkg_consumer
enqueue
dequeue
Boeking
Verwerken boekingin PKS
Verwerkte enonverwerkteBoekingen
PKS
Onverwerkteboekingen
1. Eerder gepubliceerde budgetaanvraag (machtiging) wordt behandelt(?) door externeapplicatie en resulteert in een(of meerdere) boekingen.
2. Boekingen worden uitgewisseld met extern systeem.
3. Published berichten worden opgepakt door de IC hub en doorgestuurd naar Pagoni(subscriber).
4. Pagoni verwerkt boekingen:- Gebruiker krijgt email indien boekingen niet verwerkt kunnen worden (notification).- alle boekingen opslaan in database.- verwerkte boekingen te raad- plegen in overzichten (Oracle Reports)- onverwerkte boekingen te raadplegen via Discoverer.
6
Application Integration
Means of interfacing data between applications
A1
A2
A3
A4
7
Application Integration
Means of interfacing data between applications: point-to-point
A1
A2
A3
A4
Examples:- Database links,- UTL_FILE FTP/SMTP,- External tables
8
Application Integration
Means of interfacing data between applications: point-to-point
A1
A2
A3
A4
9
Application Integration
Means of interfacing data between applications: Central Hub - Spokes
HUBA1
A2
A3
A4
10
ArchitectureInterConnect
Key features:• Event-based distributed messaging system• Integral component Oracle iAS• Integrates heterogeneous systems• Loosely coupled integration via common view, not direct• Easily extended for new spoke application• Reusability of common view
11
ArchitectureInterConnect
Design timecomponent
Spoke
IC Hub
IC Manager
XML XML
12
ArchitectureInterConnect
Hardware:1. iAS midtier
- Repository, IC Hub, Adapters, IC Manager
2. Central RDBMS- Repository (schema: ichub, oai)
3. Application/spoke RDBMS- Adapters (appl. schema)
13
InterConnecting Pagoni
Hardware:– RDBMS 9.2.0.5– Webforms & Reports v. 10.1.2.0.2(+ Headstart v. 6.5.3)
– iAS Infra + midtier v. 10.1.2.0.2– IC hub (iAS midtier) v. 10.1.2.0.0– IC database RDBMS 10g rel 1
14
InterConnecting Pagoni
• Exchange data in XML format via Advanced Queuing
• Queue table : multi-consumer : raw payload
• Outbound Queue : ags.mtg_queueconsumer : pks_mtg_consumer
• Inbound Queue : ags.bkg_queueconsumer : pks_bkg_consumer
15
Goedkeuren
Toetsen Machtigingen
Validatie
Update machtigingenSet = status = ‘G’ …
enqueue
AQ-adapter IC
pks_mtg_consumer
dequeue
IC HUBBudget-aanvragen
e-Business Suite
Process FlowToetsen machtigingen
1. Geautoriseerde gebruiker toetst een machtiging enkeurt deze goed (transactie).
2. Business rule valideert of demachtiging uitgewisseld(gepublished) moet worden met extern systeem.
3. Update Machtiging en plaatsde machtiging op een queuevoor uitgaande berichten.
Indien de transactie fout loopt,wordt de update en de enqueueterug gedraaid.
4. Published berichten worden opgepakt door de IC hub en doorgestuurd naar allesubscribing applicaties.
16
InterConnectingPagoni
• Process “Uitwisselen machtigingen”– Query payload mbv XMLElementpayload wordt impliciet geparsed doorsys.XMLType
– Enqueue per machtigingsregel als raw payload mbv utl_raw.cast_to_rawraw: geen encoding problemenconsumer = pks_mtg_consumer (default)
zie procedure ags_intf_eos.enqueue_mtg
17
Process FlowVerwerken boekingen
E-Business Suite IC Hub
AQ Adapter
pks_bkg_consumer
enqueue
dequeue
Boeking
Verwerken boekingin PKS
Verwerkte enonverwerkteBoekingen
PKS
Onverwerkteboekingen
1. Eerder gepubliceerde budgetaanvraag (machtiging) wordt behandelt(?) door externeapplicatie en resulteert in een(of meerdere) boekingen.
2. Boekingen worden uitgewisseld met extern systeem.
3. Published berichten worden opgepakt door de IC hub en doorgestuurd naar Pagoni(subscriber).
4. Pagoni verwerkt boekingen:- Gebruiker krijgt email indien boekingen niet verwerkt kunnen worden (notification).- alle boekingen opslaan in database.- verwerkte boekingen te raad- plegen in overzichten (Oracle Reports)- onverwerkte boekingen te raadplegen via Discoverer.
18
InterConnectingPagoni
• Process “Verwerking boekingen”– Register PL/SQL procedure for events on bkg_queue:pks_bkg_consumerNotification/callback mechanism.No need for self-written dequeue-job zie register.sql
– Dequeue notified message
– Process payload (XMLType functions) and merge into boekingen table or insert into onvw_boekingen table & send email to Pagoni-admin.
– Commit transaction zie procedure ags_intf_eos.dequeue_bkg
19
InterConnectingPagoni
• InterConnect integrates between two applications:Pagoni and … e-BS simulation appl.http://vamisux12:7779/forms/frmservlet?config=eoso
• Subscribes for machtigingen as budgetaanvragen
• Publishes boekingen
20
Adapters
IC Manager
21
Adapters- Connect to application to transfer data between
application & hub: bridge- Transform data to and from application view to common
view- Adapter (message) types
database, generic, XML, FTP, SMTP, HTTP, MQAQ (raw payload), BPEL, JCA adapters
- Contains no codemetadata is in repository database (ichub schema)
- Statelesswhen adapter goes down, message is eitherin application or in Hub
Configuration- adapter.ini
Cloning- copyAdapter.sh <old> <new>
22
Adapters
23
Adapters
24
iStudio
Design timecomponent
IC Hub
IC Manager
25
iStudio
Integration methodology• Integration Point event that triggers communication between applications (create customer)
• Common View = list of integr. Points
• Applications: participate by binding to >1 integ. Points
26
iStudio
• Demo
27
iStudio1.Create project2.Create common view BusinessObject “grootste gemene veelvoud”
3.Create Business Object events choose publish/subscribe or request/replyApplication view object created automatically
28
iStudio
4.Create applications instance of an adapter communicating with an application
5.Create (external) publish events map application view to common view
6.Deploy Process bundle (sync adapters)
7.Export and Install PL/SQL code if database adapter is used.
Questions & Answers
Workshop
31
32
RepositoryIC Hub 2 components
– Repository Serverjava (RMI) application outside database. iStudio & adapters RMI clients
– Repository DatabaseStores metadata.provide messaging via AQ.
Configuration– hub.ini– repository.ini
33
Adapter