Oracle InterConnect - AMIS Technology Blog

advertisement
Oracle
InterConnect
- Pagoni files -
KC Server Development & Programming Languages
11 mei 2006
Harm Verschuren
1
Agenda
•
•
•
•
•
Business Case Pagoni
Process Flows
Application Integration
Architecture InterConnect
The Components
– Repository
– Adapters
– Development Kit  iStudio
• Messaging
– Publish/subscribe paradigm
• Questions & Answers
2
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)
3
Process Flow
Toetsen machtigingen
Toetsen Machtigingen
1.
Geautoriseerde gebruiker
toetst een machtiging en
keurt deze goed (transactie).
2.
Business rule valideert of de
machtiging uitgewisseld
(gepublished) moet worden
met extern systeem.
3.
Update Machtiging en plaats
de machtiging op een queue
voor uitgaande berichten.
Goedkeuren
Validatie
Update machtigingen
Set = status = ‘G’ …
enqueue
dequeue
AQ-adapter IC
pks_mtg_consumer
e-Business Suite
Budgetaanvragen
Indien de transactie fout loopt,
wordt de update en de enqueue
terug gedraaid.
4.
Published berichten worden
opgepakt door de IC hub
en doorgestuurd naar alle
subscribing applicaties.
IC HUB
4
Process Flow
Verwerken boekingen
E-Business Suite
Boeking
IC Hub
AQ Adapter
pks_bkg_consumer
1.
Eerder gepubliceerde
budgetaanvraag (machtiging) wordt
behandelt(?) door externe
applicatie 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 raadplegen in overzichten
(Oracle Reports)
- onverwerkte boekingen te
raadplegen via Discoverer.
enqueue
PKS
Verwerkte en
onverwerkte
Boekingen
dequeue
Verwerken boeking
in PKS
email
Onverwerkte
boekingen
5
Application Integration
Means of interfacing data between
applications
A3
A1
A4
A2
6
Application Integration
Means of interfacing data between
applications: point-to-point
A3
A1
Examples:
- Database links,
- UTL_FILE  FTP/SMTP,
- External tables
A4
A2
7
Application Integration
Means of interfacing data between
applications: point-to-point
A3
A1
A4
A2
8
Application Integration
Means of interfacing data between
applications: Central Hub - Spokes
A3
A1
HUB
A4
A2
9
Architecture
InterConnect
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
10
Architecture
InterConnect
Design time
component
IC
Manager
IC Hub
XML
Spoke
XML
11
Architecture
InterConnect
Hardware:
1. iAS midtier
-
Repository, IC Hub, Adapters, IC
Manager
2. Central RDBMS
-
Repository (schema: ichub, oai)
3. Application/spoke RDBMS
-
Adapters (appl. schema)
12
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
13
InterConnecting
Pagoni
• Exchange data in XML format via Advanced
Queuing
• Queue table
: multi-consumer
: raw payload
• Outbound Queue
consumer
• Inbound Queue
consumer
:
:
:
:
ags.mtg_queue
pks_mtg_consumer
ags.bkg_queue
pks_bkg_consumer
14
Process Flow
Toetsen machtigingen
Toetsen Machtigingen
1.
Geautoriseerde gebruiker
toetst een machtiging en
keurt deze goed (transactie).
2.
Business rule valideert of de
machtiging uitgewisseld
(gepublished) moet worden
met extern systeem.
3.
Update Machtiging en plaats
de machtiging op een queue
voor uitgaande berichten.
Goedkeuren
Validatie
Update machtigingen
Set = status = ‘G’ …
enqueue
dequeue
AQ-adapter IC
pks_mtg_consumer
e-Business Suite
Budgetaanvragen
Indien de transactie fout loopt,
wordt de update en de enqueue
terug gedraaid.
4.
Published berichten worden
opgepakt door de IC hub
en doorgestuurd naar alle
subscribing applicaties.
IC HUB
15
InterConnecting
Pagoni
• Process “Uitwisselen machtigingen”
– Query payload mbv XMLElement
payload wordt impliciet geparsed door
sys.XMLType
– Enqueue per machtigingsregel als raw
payload mbv utl_raw.cast_to_raw
raw: geen encoding problemen
consumer = pks_mtg_consumer (default)
 zie procedure ags_intf_eos.enqueue_mtg
16
Process Flow
Verwerken boekingen
E-Business Suite
Boeking
IC Hub
AQ Adapter
pks_bkg_consumer
1.
Eerder gepubliceerde
budgetaanvraag (machtiging) wordt
behandelt(?) door externe
applicatie 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 raadplegen in overzichten
(Oracle Reports)
- onverwerkte boekingen te
raadplegen via Discoverer.
enqueue
PKS
Verwerkte en
onverwerkte
Boekingen
dequeue
Verwerken boeking
in PKS
email
Onverwerkte
boekingen
17
InterConnecting
Pagoni
• Process “Verwerking boekingen”
– Register PL/SQL procedure for events on
bkg_queue:pks_bkg_consumer
Notification/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
18
InterConnecting
Pagoni
• 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
19
Adapters
IC
Manager
20
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, MQ
AQ (raw payload), BPEL, JCA adapters
- Contains no code
metadata is in repository database (ichub schema)
- Stateless
when adapter goes down, message is either
in application or in Hub
Configuration
- adapter.ini
Cloning
- copyAdapter.sh <old> <new>
21
Adapters
22
Adapters
23
iStudio
Design time
component
IC
Manager
IC Hub
24
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
25
iStudio
• Demo
26
iStudio
1.Create project
2.Create common view Business
Object
 “grootste gemene veelvoud”
3.Create Business Object events
 choose publish/subscribe or
request/reply
Application view object created
automatically
27
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.
28
Questions & Answers
Workshop
31
Repository
IC Hub  2 components
– Repository Server
java (RMI) application outside database.
iStudio & adapters  RMI clients
– Repository Database
Stores metadata.
provide messaging via AQ.
Configuration
– hub.ini
– repository.ini
32
Adapter
33
Download