{"id":2811,"date":"2011-08-04T12:51:52","date_gmt":"2011-08-04T17:51:52","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=2811"},"modified":"2015-04-02T15:01:23","modified_gmt":"2015-04-02T20:01:23","slug":"soa-11g-tutorial-event-delivery-network-edn","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=2811","title":{"rendered":"SOA 11g Tutorial: Event Delivery Network (EDN)"},"content":{"rendered":"<div class='toc wptoc'>\n<h2>Contents<\/h2>\n<ol class='toc-odd level-1'>\n\t<li>\n\t\t<a href=\"#Overview\">Overview<\/a>\n\t<\/li>\n\t<li>\n\t\t<a href=\"#Event_Definition_Language_EDL\">Event Definition Language (EDL)<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#EDL_Content\">EDL Content<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_an_Event:_NewPO_Event\">Create an Event: NewPO Event<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Subscribe_to_NewPO_Event\">Subscribe to NewPO Event<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Test\">Test<\/a>\n\t\t\t\t<ol class='toc-odd level-3'>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href=\"#Publish_Event\">Publish Event<\/a>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href=\"#Check_Event\">Check Event<\/a>\n\t\t\t\t\t<\/li>\n\t\t\t\t<\/ol>\n<\/ol>\n\t\t\t<li>\n\t\t\t\t<a href=\"#References\">References<\/a>\n\t\t\t<\/li>\n<\/ol>\n<\/ol>\n<\/div>\n<div class='wptoc-end'>&nbsp;<\/div>\n<p>This is part of the <a href=\"?p=1924\">Oracle SOA11g hands on tutorials<\/a>.<\/p>\n<span id=\"Overview\"><h2>Overview<\/h2><\/span>\n<p>* Provides a declarative way to use a publish\/subscribe model to generate and consume business events without worrying about the underlying message infrastructure.<\/p>\n<span id=\"Event_Definition_Language_EDL\"><h2>Event Definition Language (EDL)<\/h2><\/span>\n<p>* EDL defines events.<br \/>\n* EDL is an XML schema used to define events.<\/p>\n<span id=\"EDL_Content\"><h3>EDL Content<\/h3><\/span>\n<p>* Global name<br \/>\n* Custom headers<br \/>\n* Payload definition<\/p>\n<span id=\"Create_an_Event:_NewPO_Event\"><h3>Create an Event: NewPO Event<\/h3><\/span>\n<p>* Open POProcessing <strong>composite.xml<\/strong> file form JDev.<br \/>\n* Click the <strong>Event Definition Creation<\/strong> icon (lighting bolt next to the green check mark) to open the<strong> Create Event Definition File<\/strong> dialog.<br \/>\n&#8211; EDL File Name: <strong>POEvents<\/strong><br \/>\n&#8211; Directory: <strong>file:\/C:\/po\/POProcessing1\/POProcessing\/<\/strong><br \/>\n&#8211; Namespace: <strong>http:\/\/schemas.oracle.com\/events\/edl\/POEvents<\/strong><br \/>\n* Click the green plus sign to bring up the <strong>Add an Event<\/strong> dialog.<br \/>\n&#8211; Click the magnifying glass to bring up the <strong>Type Chooser<\/strong> dialog.<br \/>\n&#8211; Select <strong>po.xsd -> PurchaseOrder<\/strong> and click <strong>OK<\/strong> button.<br \/>\n&#8211; Name: <strong>NewPO<\/strong><br \/>\n&#8211; Click <strong>OK<\/strong>.<br \/>\n* Save all.<\/p>\n<span id=\"\"><h6><img decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/07\/POEvents.jpg\" alt=\"\" title=\"POEvents\" \/><\/h6><\/span>\n<span id=\"Subscribe_to_NewPO_Event\"><h3>Subscribe to NewPO Event<\/h3><\/span>\n<p>* Drag and drop a <strong>Mediator<\/strong> component onto Components lane.<br \/>\n&#8211; Name: <strong>receiveNewPO<\/strong><br \/>\n&#8211; Template: <strong>Subscribe to Events<\/strong><br \/>\n* Click the green plus sign to bring up the <strong>Event Chooser<\/strong> dialog<br \/>\n&#8211; Select <strong>NewPO<\/strong> event<br \/>\n* Click <strong>OK<\/strong>.<br \/>\n* Drag a wire from lower right of receiveNewPO mediator component to upper left of routePO mediator component.<br \/>\n* Double click <strong>receiveNewPO<\/strong> mediator component to open <strong>receiveNewPO.mplan<\/strong> file.<br \/>\n* Click the transformation icon to bring up the<strong> Event Transformation Map<\/strong>.<br \/>\n* Select <strong>Create New Mapper File<\/strong> and accept default file name of <strong>NewPO_To_PurchaseOrder.xsl<\/strong>.<br \/>\n* Click <strong>OK<\/strong> to open the NewPO_To_PurchaseOrder.xsl file.<br \/>\n* Automap PurchaseOrder to PurchaseOrder.<br \/>\n* Save all.<\/p>\n<span id=\"_1\"><h6><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/07\/receiveNewPOMediator.jpg\" alt=\"\" title=\"receiveNewPOMediator\" width=\"451\" height=\"312\" class=\"alignnone size-full wp-image-2817\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/07\/receiveNewPOMediator.jpg 451w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/07\/receiveNewPOMediator-300x207.jpg 300w\" sizes=\"auto, (max-width: 451px) 100vw, 451px\" \/><\/h6><\/span>\n<span id=\"Test\"><h3>Test<\/h3><\/span>\n<p>* Redeploy <strong>POProcessing<\/strong> application.<br \/>\n* Log into EM.<\/p>\n<span id=\"Publish_Event\"><h4>Publish Event<\/h4><\/span>\n<p>* Right click <strong>soa-infra (soa_server1)<\/strong> and select <strong>Business Events<\/strong>.<br \/>\n* On Events tab, click <strong>NewPO<\/strong> event.<br \/>\n* Click Test button to bring up <strong>Test Event: NewPO<\/strong> dialog.<br \/>\n* Enter input message:<\/p>\n<pre lang=\"xml\">\r\n<PurchaseOrder xmlns=\"http:\/\/xmlns.oracle.com\/ns\/order\">\r\n         <CustID>1111<\/CustID>\r\n         <ID>33412<\/ID>\r\n         <productName>Sony Bluray DVD Player<\/productName>\r\n         <itemType>Electronics<\/itemType>\r\n         <price>350<\/price>\r\n         <quantity>5<\/quantity>\r\n         <status>Initial<\/status>\r\n         <ccType>Mastercard<\/ccType>\r\n         <ccNumber>1234-1234-1234-1234<\/ccNumber>\r\n<\/PurchaseOrder>\r\n<\/pre>\n<p>* Click <strong>Publish <\/strong>button on the lower right corner.<br \/>\n* Click <strong>OK <\/strong>on &#8220;The Event published successfully&#8221; message.<\/p>\n<span id=\"Check_Event\"><h4>Check Event<\/h4><\/span>\n<p>* Click <strong>POProcessing <\/strong>service.<br \/>\n* Click the latest Instance ID to open the flow trace window.<br \/>\n* Check that the order from event has been processed.<\/p>\n<span id=\"_2\"><h6><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/07\/NewPOEvent.jpg\" alt=\"\" title=\"NewPOEvent\" width=\"703\" height=\"352\" class=\"alignnone size-full wp-image-2835\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/07\/NewPOEvent.jpg 703w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/07\/NewPOEvent-300x150.jpg 300w\" sizes=\"auto, (max-width: 703px) 100vw, 703px\" \/><\/h6><\/span>\n<span id=\"References\"><h2>References<\/h2><\/span>\n<p>* <a href=\"?p=2763\">here<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is part of the Oracle SOA11g hands on tutorials. Overview * Provides a declarative way to use a publish\/subscribe model to generate and consume business events without worrying about the underlying message infrastructure. Event Definition Language (EDL) * EDL &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=2811\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[100],"tags":[],"class_list":["post-2811","post","type-post","status-publish","format-standard","hentry","category-soa11g"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-Jl","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2811"}],"version-history":[{"count":28,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2811\/revisions"}],"predecessor-version":[{"id":10612,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2811\/revisions\/10612"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}