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