tag:blogger.com,1999:blog-31337610344636515062024-02-19T02:11:31.137-08:00Oracle Fusion Middleware DeutschArne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.comBlogger103125tag:blogger.com,1999:blog-3133761034463651506.post-42638378858279871142016-07-27T06:11:00.000-07:002016-07-27T06:14:13.305-07:00Oracle SOA Cloud Service (SOACS): 12.2.1.1 Instanz anlegen<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
Zwischenzeitig ist auch der SOA Cloud Service (SOACS) in der Version 12.2.1.1 freigegeben worden. Dieses Tutorial ersetzt damit die Erstellung des SOACS-Teils für die Version 12.1.3.</div>
<div class="separator" style="clear: both; text-align: left;">
In diesem Teil des Tutorials wird eine Instanz der Oracle SOA-Suite über den SOA Cloud Service (SOACS) aufgesetzt. Die vorherigen Teile zum Erstellen der Storage-Container und der Datenbank-Instanz sind hierfür Voraussetzung.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbaVY5NgwJYRoTZuF0jOAR51nxvP9eTUXQ1ZtT3_4Xh-uXYAq8TxpIiGPA5lbAaXiapd8bbAMt9_-TMMzUDI8HkV52_lAPlgYN9SFarERDvbsfVj5mf_q3xb9Hm0CyWmV93juO1P-3aw/s1600/2016-04-28+14_31_56-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbaVY5NgwJYRoTZuF0jOAR51nxvP9eTUXQ1ZtT3_4Xh-uXYAq8TxpIiGPA5lbAaXiapd8bbAMt9_-TMMzUDI8HkV52_lAPlgYN9SFarERDvbsfVj5mf_q3xb9Hm0CyWmV93juO1P-3aw/s640/2016-04-28+14_31_56-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Los geht es in der Service Console des SOACS per 'Create Instanze'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq0clS9DFN9Y76a4CIdCplgX8dhOmYwCrGHXBC7RPPs8VIcAUisKerqMr5J1NlTAg-Fup4QS0qqFzCLInSaU-ioJA3QWatl_xfpQEQiq0TyWIEDTnCcie1CTm8KC_hodpzAV1jGBBEOw/s1600/2016-07-26+16_10_00-Oracle+SOA+Cloud+Service+Details.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="596" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq0clS9DFN9Y76a4CIdCplgX8dhOmYwCrGHXBC7RPPs8VIcAUisKerqMr5J1NlTAg-Fup4QS0qqFzCLInSaU-ioJA3QWatl_xfpQEQiq0TyWIEDTnCcie1CTm8KC_hodpzAV1jGBBEOw/s640/2016-07-26+16_10_00-Oracle+SOA+Cloud+Service+Details.png" width="640" /></a></div>
<br />
Für die weiteren Tutorials benötigen wir einen SOA und Service Bus Cluster<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfat7Ty-3kBb64Da1fEumj36mvuiWD5bDpAh2svR5XCgI44Cmccck_SYPetgv01pZt5oaGkeMVH5oeFSjRxm7lkBYCihI4DJ1NyVsc3nwN8_0VasjBVTj9zmhDBZKucUn1VgTwg0hSDg/s1600/2016-07-26+16_10_28-Oracle+SOA+Cloud+Service+Details.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfat7Ty-3kBb64Da1fEumj36mvuiWD5bDpAh2svR5XCgI44Cmccck_SYPetgv01pZt5oaGkeMVH5oeFSjRxm7lkBYCihI4DJ1NyVsc3nwN8_0VasjBVTj9zmhDBZKucUn1VgTwg0hSDg/s400/2016-07-26+16_10_28-Oracle+SOA+Cloud+Service+Details.png" width="400" /></a></div>
<br />
Als Version wird die 12.2.1 ausgewählt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAy4CuJ21nryu-kG5clMWU7pkVt-r4zYjvVgWu0ee6AQIdW-4aoNdwve8uVAUxxU0nqKGXDGHx9uUHY8ASQndg_DPZ2I8r9wI0up7T534IDvXRwWolsKuJjVOtmHqZGvU0h9bmzEGVRg/s1600/2016-04-28+14_37_02-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAy4CuJ21nryu-kG5clMWU7pkVt-r4zYjvVgWu0ee6AQIdW-4aoNdwve8uVAUxxU0nqKGXDGHx9uUHY8ASQndg_DPZ2I8r9wI0up7T534IDvXRwWolsKuJjVOtmHqZGvU0h9bmzEGVRg/s640/2016-04-28+14_37_02-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Hier werden die Konfigurationsinformationen erfasst. Neben Compute Shape, SSH Key und Benutzername/Password wird hier die vorher angelegte Datenbank ausgewählt. Wichtig: hier werden nur Datenbanken angeboten, für die auch ein Backup konfiguriert ist. Dann benötigt der SOACS noch einen Storage Container. Der Name ist, wie auch beim Storage für die Datenbank, anzugeben im Format Storage-[Identity Domain]/[Container-Name]. In diesem Tutorial ist dies der zuvor erstellte SOACScontainer.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOpzouX7UTDOv4sZaQHwqAC9kuFZT16-lxW8QsLpVx6S2xVlj-KHzet84wneaij-kR9pMK-jVhtHHSmb6cX29n9ALP0vS-8oyEZ5Yw1O0KLkTPM8dtkQbDaUALlRL6NmuPd63gOfk1zg/s1600/2016-04-28+14_37_24-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOpzouX7UTDOv4sZaQHwqAC9kuFZT16-lxW8QsLpVx6S2xVlj-KHzet84wneaij-kR9pMK-jVhtHHSmb6cX29n9ALP0vS-8oyEZ5Yw1O0KLkTPM8dtkQbDaUALlRL6NmuPd63gOfk1zg/s640/2016-04-28+14_37_24-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Zusammenfassung und weiter.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnX7Ib_m0pv-sYFBKAQsmBJLciN0V3mZmmHBxJEUTZovElS6y_RcZgihL8xbCK4old4_OdLwFmjml9uuuVhON7zuYT8VDt2iphJ4Blmo0gFlaXYfd2mHe9H-ttW4pojnrdlA7cNUH8Vg/s1600/2016-04-28+14_38_19-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnX7Ib_m0pv-sYFBKAQsmBJLciN0V3mZmmHBxJEUTZovElS6y_RcZgihL8xbCK4old4_OdLwFmjml9uuuVhON7zuYT8VDt2iphJ4Blmo0gFlaXYfd2mHe9H-ttW4pojnrdlA7cNUH8Vg/s640/2016-04-28+14_38_19-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Bei Klick auf 'In Progress' gibt es detailierte Informationen über den Fortschritt<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicPG1cYrBD6Gvfx4QP9EozWqFgytnln7YV7fcj-Goprdpe6akAjs0K_D4EXChGuyCM5d0o8g5pBIZv7Yzy2tvL4bU0ddFb8iJV62FibVP08-bfscBlw1re4sGfK0w96ONW22fq0bgkYw/s1600/2016-07-27+15_08_08-Oracle+SOA+Cloud+Service+Details.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicPG1cYrBD6Gvfx4QP9EozWqFgytnln7YV7fcj-Goprdpe6akAjs0K_D4EXChGuyCM5d0o8g5pBIZv7Yzy2tvL4bU0ddFb8iJV62FibVP08-bfscBlw1re4sGfK0w96ONW22fq0bgkYw/s640/2016-07-27+15_08_08-Oracle+SOA+Cloud+Service+Details.png" width="640" /></a></div>
<br />
Wenn die Erstellung abgeschlossen ist, landet man per Klick auf den Instanznamen auf der jeweiligen Übersicht. Per Klick auf das Menüsymbol oben rechts gelangt man in die von der on-premise Variante bekannten Tools, alle in der 12.2 Version mit dem neuen Look&Feel:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwQ_nrJu6AuQQBnqXZ3GpG4qLvUl-ViN48bwJpS4gV0_Ok3utEQgw4qJEdlZzZE_f7l_GaJjn04SUZzdD_olBb_4gG6haZcpmPbp44UZc3LLWwyNyqjMLwkEYypcztLlMjzTfA9cLJ8g/s1600/2016-04-28+15_54_22-Summary+of+Servers+-+soacs-jc_domain+-+WLS+Console+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwQ_nrJu6AuQQBnqXZ3GpG4qLvUl-ViN48bwJpS4gV0_Ok3utEQgw4qJEdlZzZE_f7l_GaJjn04SUZzdD_olBb_4gG6haZcpmPbp44UZc3LLWwyNyqjMLwkEYypcztLlMjzTfA9cLJ8g/s320/2016-04-28+15_54_22-Summary+of+Servers+-+soacs-jc_domain+-+WLS+Console+-+Opera.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
WebLogic Console</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt42ALZnOBJh8ZLpdMkuARSSMNxn5J-r5BtR9hzbxTNfiLkee4umfd3bA_-Asn1-7CFHLgoC8GBvbZ0V4SRSTLoasyXNvGk6xO_2tfFxXwMct4K-KVn8o506mEHU3hLJHPsA4ccfblbg/s1600/2016-07-27+15_04_04-soa122-j_domain+%2528Oracle+WebLogic+Domain%2529+-+Oracle+Enterprise+Manager.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt42ALZnOBJh8ZLpdMkuARSSMNxn5J-r5BtR9hzbxTNfiLkee4umfd3bA_-Asn1-7CFHLgoC8GBvbZ0V4SRSTLoasyXNvGk6xO_2tfFxXwMct4K-KVn8o506mEHU3hLJHPsA4ccfblbg/s320/2016-07-27+15_04_04-soa122-j_domain+%2528Oracle+WebLogic+Domain%2529+-+Oracle+Enterprise+Manager.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Enterprise Manager</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBDCGgGnbAgAku_JLjiSeQXR9PbrP7kQ4OOhDLLDxdnYLJNxsGjXuC34zSSrOH7_ryDiT3KnS2cQ3LRHOpjQSmvqcsIuv0mU-UbnICmAIYaoACjrDaSH9w_7b3UoHbrSfeNiKttU0INw/s1600/2016-07-27+15_02_50-SOA+Composer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBDCGgGnbAgAku_JLjiSeQXR9PbrP7kQ4OOhDLLDxdnYLJNxsGjXuC34zSSrOH7_ryDiT3KnS2cQ3LRHOpjQSmvqcsIuv0mU-UbnICmAIYaoACjrDaSH9w_7b3UoHbrSfeNiKttU0INw/s320/2016-07-27+15_02_50-SOA+Composer.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
SOA Composer</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3n4y9Q7BR-ruhdsEs7X8M0kO1qlsmb4tcwjb-yiPsbH4kOH3BkjrQAksSBbm2ZBw6PKhuzGG3xvg0VPQyN0wNDAek9klONvIk1jFxlb07V8iEDPpEyrnjfLLQ6AgBQJ5SopeTRgJRYQ/s1600/2016-07-27+15_02_04-BPM+Worklist.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3n4y9Q7BR-ruhdsEs7X8M0kO1qlsmb4tcwjb-yiPsbH4kOH3BkjrQAksSBbm2ZBw6PKhuzGG3xvg0VPQyN0wNDAek9klONvIk1jFxlb07V8iEDPpEyrnjfLLQ6AgBQJ5SopeTRgJRYQ/s320/2016-07-27+15_02_04-BPM+Worklist.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Worklist Application</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj_Dr0c714Maj19uN2cH2d-qKdgcxKkD5YCape8h-5Naz19Y3GqT7tmZXuIk6GLBqiE7tztHrmFTICqoj8MJ2VJhUOa5bDAOIeVN_QysjdaihydBmPEZ8KlFvHf_PuCOOCpquWKBPQew/s1600/2016-07-27+15_07_44-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj_Dr0c714Maj19uN2cH2d-qKdgcxKkD5YCape8h-5Naz19Y3GqT7tmZXuIk6GLBqiE7tztHrmFTICqoj8MJ2VJhUOa5bDAOIeVN_QysjdaihydBmPEZ8KlFvHf_PuCOOCpquWKBPQew/s320/2016-07-27+15_07_44-Service+Bus+Console+12c.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Oracle Service Bus Console</div>
<br />
In der Instanz-Übersicht im Bereich Administration gibt es Zugriff auf das zusätzliche Cloud-Tooling, welches es in dieser Form on-premise nicht gibt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuF_YsWhJYjgBbM6GgI31WD1ActhdudKmiwYXTwfYmONEN4YDdVw6ATve8ip7hUU1qDNIuEIDrrvKQMw3C76naGpR18lSrFVl6r4sTb_0tL-vNZK40ZkTP29-EnbZl4F65BWlSVn1evw/s1600/2016-04-28+16_04_43-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuF_YsWhJYjgBbM6GgI31WD1ActhdudKmiwYXTwfYmONEN4YDdVw6ATve8ip7hUU1qDNIuEIDrrvKQMw3C76naGpR18lSrFVl6r4sTb_0tL-vNZK40ZkTP29-EnbZl4F65BWlSVn1evw/s640/2016-04-28+16_04_43-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Neben der Konfiguration des Load Balancers, der in diesem Tutorial nicht genutzt wird, kann hier das Backup konfiguriert werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_nnG4eZp-ZLyg1XqmuhxKIBXdO2jwRL-RvGVAJAQwPyqFpSGn76gTWoGqbijhLx3sTl0hhGYQolAny3rF0haWRLWBKnpCOU3OUoHjr_hWFpHyhFJY6N0uf1AM0MJ1tTclteoCQ53svw/s1600/2016-04-28+16_05_31-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_nnG4eZp-ZLyg1XqmuhxKIBXdO2jwRL-RvGVAJAQwPyqFpSGn76gTWoGqbijhLx3sTl0hhGYQolAny3rF0haWRLWBKnpCOU3OUoHjr_hWFpHyhFJY6N0uf1AM0MJ1tTclteoCQ53svw/s400/2016-04-28+16_05_31-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="400" /></a></div>
<br />
Hier kann ausgewählt werden, ob die Datenbank gleich mit gesichert werden soll.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_h8B-w7pTK0xuh92Fe3c4c4MvLWWGy1xjeXMs13fSI5Kr6ndA1IW5nYRoNQazfFLflYCw6BLIs0Z_T3eQOm-JoTMC3n7axbMWq3zpomE7OnvSR59HFiLqukb9ih4p_tJfU7jauaUSuQ/s1600/2016-04-28+17_23_26-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_h8B-w7pTK0xuh92Fe3c4c4MvLWWGy1xjeXMs13fSI5Kr6ndA1IW5nYRoNQazfFLflYCw6BLIs0Z_T3eQOm-JoTMC3n7axbMWq3zpomE7OnvSR59HFiLqukb9ih4p_tJfU7jauaUSuQ/s640/2016-04-28+17_23_26-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Wenn das Backup erstellt ist, kann es hier direkt wieder eingespielt werden. Nützlich, falls im Laufe des Tutorials etwas schief geht.<br />
Damit ist die SOACS Instanz für die weiteren Schritte fertig konfiguriert.</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-4726572281107216172016-05-03T09:40:00.001-07:002016-05-03T09:46:49.503-07:00JDeveloper per SSH-Tunnel an SOA Cloud Service anbinden.<div dir="ltr" style="text-align: left;" trbidi="on">
Nachdem im letzten Teil beschrieben wurde, wie der SSH-Tunnel zum SOA Cloud Service (SOACS) aufgebaut wird, geht es in diesem Teil darum, den Tunnel zu nutzen um vom lokal installierten JDeveloper eine Verbindung herzustellen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPwNOiJq9dUhl-U0kfLLdIXHyXy8wY0PU1igRTCwkAkX-jwlHs7Qh3koDnaaE3lhrEAlAKxAKtkHJdrlSi7rQ3LJihc_Ur1rXG4VOfrcAKc0BVlXBu8iQ4x7zAGKkU9hRvmYdgBpRl6w/s1600/2016-05-03+17_23_13-Summary+of+Servers+-+soacs-jc_domain+-+WLS+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPwNOiJq9dUhl-U0kfLLdIXHyXy8wY0PU1igRTCwkAkX-jwlHs7Qh3koDnaaE3lhrEAlAKxAKtkHJdrlSi7rQ3LJihc_Ur1rXG4VOfrcAKc0BVlXBu8iQ4x7zAGKkU9hRvmYdgBpRl6w/s640/2016-05-03+17_23_13-Summary+of+Servers+-+soacs-jc_domain+-+WLS+Console.png" width="640" /></a></div>
<br />
Zu beachten ist hierbei, dass der standard Network Channel des WLS des nicht tunnelbar ist. Daher muss hierfür ein eigener Channel angelegt werden. Dazu geht es los in der WebLogic Console per Klick auf den Management Server.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYFJuL3airP_AEW9jz7VlzcyzrMivImn68gqNnxeLr5Jitc8JFDTRZlPxKcfgqa2CQtFi2TcHGTilQwhaNZYpxjbR5J1ZQxnfdahfNgf0mZm2jXiRtxZblcN40wMYbC30Tdj_X2lHAqw/s1600/2016-05-03+17_23_57-Settings+for+soacs-jc_adminserver+-+soacs-jc_domain+-+WLS+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYFJuL3airP_AEW9jz7VlzcyzrMivImn68gqNnxeLr5Jitc8JFDTRZlPxKcfgqa2CQtFi2TcHGTilQwhaNZYpxjbR5J1ZQxnfdahfNgf0mZm2jXiRtxZblcN40wMYbC30Tdj_X2lHAqw/s640/2016-05-03+17_23_57-Settings+for+soacs-jc_adminserver+-+soacs-jc_domain+-+WLS+Console.png" width="640" /></a></div>
<br />
Unter Protocols / Channels findet sich beim Admin Server bereits ein Channel auf Port 9001. Dieser wird im Java Cloud Service immer angelegt, da der Developer Cloud Service diesen ebenfalls für das Deployment benötigt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYUF6w1pYmmTp4ZunKATTjc30-4QClYwdUUP5_X7DiLuaP4H504-pLiTZnDrgXAVtFGwX-aJQwfWfdqztTnpSvzVfPkadklqY6jvPMEynT1o8vmvKuX_uDZ1Z1TzaIELOtlsebPPEM2A/s1600/2016-05-03+17_24_30-Settings+for+soacs-jc_server_1+-+soacs-jc_domain+-+WLS+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="324" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYUF6w1pYmmTp4ZunKATTjc30-4QClYwdUUP5_X7DiLuaP4H504-pLiTZnDrgXAVtFGwX-aJQwfWfdqztTnpSvzVfPkadklqY6jvPMEynT1o8vmvKuX_uDZ1Z1TzaIELOtlsebPPEM2A/s640/2016-05-03+17_24_30-Settings+for+soacs-jc_server_1+-+soacs-jc_domain+-+WLS+Console.png" width="640" /></a></div>
<br />
Für das SOA-Deployment wird genau so ein Channel auch für den Managed Server benötigt. Da dieser standardmässig nicht vorhanden ist, muss er noch angelegt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLwwxx7eCFSwD33vvv3dYM1XKPjtOQoxwdUoaEj45rl6Y_ZxuYo_vc5dvDYnZGKcaV0gQQA19AQAndZORImCBNxcP_spCw2usyqgXHh7AZCuWSMoQn3kw4bu-RGirYVad-ZXJP7X_uSQ/s1600/2016-05-03+17_25_19-Settings+for+soacs-jc_server_1+-+soacs-jc_domain+-+WLS+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLwwxx7eCFSwD33vvv3dYM1XKPjtOQoxwdUoaEj45rl6Y_ZxuYo_vc5dvDYnZGKcaV0gQQA19AQAndZORImCBNxcP_spCw2usyqgXHh7AZCuWSMoQn3kw4bu-RGirYVad-ZXJP7X_uSQ/s1600/2016-05-03+17_25_19-Settings+for+soacs-jc_server_1+-+soacs-jc_domain+-+WLS+Console.png" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlVxGPL43uHpkzyTPdqRIWZyQwQEYoaR7WA9vRUalmb3VeEBZKvqunSHFszkLOzOAWVMfdo-MaD6VtkuxEAWibcgSB2_286zfNIcrfgRmraFRSSL9kCWNP3yFHU0OnUxSpxIp4cCCJYg/s1600/2016-05-03+17_25_32-Settings+for+soacs-jc_server_1+-+soacs-jc_domain+-+WLS+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlVxGPL43uHpkzyTPdqRIWZyQwQEYoaR7WA9vRUalmb3VeEBZKvqunSHFszkLOzOAWVMfdo-MaD6VtkuxEAWibcgSB2_286zfNIcrfgRmraFRSSL9kCWNP3yFHU0OnUxSpxIp4cCCJYg/s1600/2016-05-03+17_25_32-Settings+for+soacs-jc_server_1+-+soacs-jc_domain+-+WLS+Console.png" /></a></div>
<br />
Da es sich ja um eine produktiv-Instanz handelt, muss zunächst per<i> Lock & Edit </i>eine Session angefordert werden, dann kann per New-Button ein neuer Channel angelegt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinhKQZuP51a29MwhuSKYcgOcXvWUXR2a-QOtuzkQmJsDADuZoG58IdPohXQ6pT_GQMjo_00XPjMLTeBhz-elbHJFT_HoE59rXty1fQhxr0e-ef5zqoNTVikrCop3CoHGTtFia2Eycyzw/s1600/2016-05-03+17_26_06-Create+a+New+Network+Channel+-+soacs-jc_domain+-+WLS+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinhKQZuP51a29MwhuSKYcgOcXvWUXR2a-QOtuzkQmJsDADuZoG58IdPohXQ6pT_GQMjo_00XPjMLTeBhz-elbHJFT_HoE59rXty1fQhxr0e-ef5zqoNTVikrCop3CoHGTtFia2Eycyzw/s640/2016-05-03+17_26_06-Create+a+New+Network+Channel+-+soacs-jc_domain+-+WLS+Console.png" width="640" /></a></div>
<br />
Hier einen Namen vergeben, Protokoll ist t3.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18mLIxgjwaspHpU878CBJd33LVDkWjYqTdf88mseFXPPo8gWEMAe7gfnRm-rWHZZBSMsthx-w3QCJjVW73B0an07BIGtTpL-E6ZX_5qS6GHHdpfOPa3eKLzpCIumJOQOn8wVsAoVfdQ/s1600/2016-05-03+17_31_35-Create+a+New+Network+Channel+-+soacs-jc_domain+-+WLS+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18mLIxgjwaspHpU878CBJd33LVDkWjYqTdf88mseFXPPo8gWEMAe7gfnRm-rWHZZBSMsthx-w3QCJjVW73B0an07BIGtTpL-E6ZX_5qS6GHHdpfOPa3eKLzpCIumJOQOn8wVsAoVfdQ/s640/2016-05-03+17_31_35-Create+a+New+Network+Channel+-+soacs-jc_domain+-+WLS+Console.png" width="640" /></a></div>
<br />
Für den Listen Port kann ein beliebiger freier Port genommen werden. Da der Admin-Server Channel auf Port 9001 ist, wird in diesem Beispiel die 9002 genommen. Die External Listen Address ist die Public-IP des Servers.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjd85IRka_elytR1xXdfgciusxWpxm_QM4WSI7HKjcJyknf6WdCt6ug2clJVZnVfZHTQPHQYsqK5uNg_ZiIC3yTGS9CbHT5WnTPduwfXfWMRj7xgjYiopPXctF9wwgSMb12FKIIRVQBA/s1600/2016-05-03+17_32_04-Create+a+New+Network+Channel+-+soacs-jc_domain+-+WLS+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjd85IRka_elytR1xXdfgciusxWpxm_QM4WSI7HKjcJyknf6WdCt6ug2clJVZnVfZHTQPHQYsqK5uNg_ZiIC3yTGS9CbHT5WnTPduwfXfWMRj7xgjYiopPXctF9wwgSMb12FKIIRVQBA/s640/2016-05-03+17_32_04-Create+a+New+Network+Channel+-+soacs-jc_domain+-+WLS+Console.png" width="640" /></a></div>
<br />
Hier ganz wichtig, den Haken bei Tunneling Enabled zu setzen, dann beenden mit Finish.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirj8i79WiVLT9hTGXDyURs42ULRGCtaOYUKTCxvhXEUWYhHZDAKlGtNhrxU21byls7LdE_OpwK6WZ4HuwgKV4ipmOo8APHMLk3SfsX_Fd3fqcYWS0ZHUFF7mhisbMUHsaVO53t0BcToQ/s1600/2016-05-03+17_37_25-Settings+for+soacs-jc_server_1+-+soacs-jc_domain+-+WLS+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirj8i79WiVLT9hTGXDyURs42ULRGCtaOYUKTCxvhXEUWYhHZDAKlGtNhrxU21byls7LdE_OpwK6WZ4HuwgKV4ipmOo8APHMLk3SfsX_Fd3fqcYWS0ZHUFF7mhisbMUHsaVO53t0BcToQ/s640/2016-05-03+17_37_25-Settings+for+soacs-jc_server_1+-+soacs-jc_domain+-+WLS+Console.png" width="640" /></a></div>
<br />
Der neue Channel sollte dann wie oben angezeigt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZZzoYllhVVUqDzLVBPgAE15KqKs8RWg1lx5olTzTStXfNrRxS0eYL51aOEvjpFAMF0RKhuas6iR5LFw0zJsmMlMeGo3pppNTmqRivYXF_pa8N7E3Iwmf_T8vsufZq27hly4f1_3tLEA/s1600/2016-05-03+17_39_02-Settings+for+soacs-jc_server_1+-+soacs-jc_domain+-+WLS+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="532" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZZzoYllhVVUqDzLVBPgAE15KqKs8RWg1lx5olTzTStXfNrRxS0eYL51aOEvjpFAMF0RKhuas6iR5LFw0zJsmMlMeGo3pppNTmqRivYXF_pa8N7E3Iwmf_T8vsufZq27hly4f1_3tLEA/s640/2016-05-03+17_39_02-Settings+for+soacs-jc_server_1+-+soacs-jc_domain+-+WLS+Console.png" width="640" /></a></div>
<br />
Jetzt muss noch der default Channel abgeschaltet werden. Dazu wird der Haken bei Listen Port Enabled entfernt. Dann per <i>Save </i>und hinterher <i>Activate Changes</i> die Konfiguration übernehmen. Unten ist auch noch der SSL Listen Port aufgeführt (8002). Damit ist die Konfiguration WebLogic-seitig abgeschlossen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzkr0UcuUIG7XGdGDt7pVs46lJuDdIDnKoq5n15WqI90UoQBGIYJfLe_GKcIZSWjmCEy1SLGUwD5dnFBGiR21-X0Cazji0gMiMAufAobnjuTcdcAcW-vsotv6KrLTkLIwedMUQ23N3KQ/s1600/2016-05-03+17_42_14-PuTTY+Configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzkr0UcuUIG7XGdGDt7pVs46lJuDdIDnKoq5n15WqI90UoQBGIYJfLe_GKcIZSWjmCEy1SLGUwD5dnFBGiR21-X0Cazji0gMiMAufAobnjuTcdcAcW-vsotv6KrLTkLIwedMUQ23N3KQ/s1600/2016-05-03+17_42_14-PuTTY+Configuration.png" /></a></div>
<br />
Damit die Channels auch durch den SSH-Tunnel kommen, müssen die drei Ports 8002, 9001 und 9002 entsprechend weitergeleitet werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibhFInNWI8JCQzLS6OenkLZotRG46xOHrsy2y0Ko2MPYEZV0_aQb0EQSBfmgZIFc3KMpuq2vUAGy005cw4sbACt6TXhNwTqALojzlmJa7D4917tZJsQHrsCdzIQJs9VHSC6f8B0mkbkg/s1600/2016-05-03+18_31_03-Oracle+JDeveloper+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibhFInNWI8JCQzLS6OenkLZotRG46xOHrsy2y0Ko2MPYEZV0_aQb0EQSBfmgZIFc3KMpuq2vUAGy005cw4sbACt6TXhNwTqALojzlmJa7D4917tZJsQHrsCdzIQJs9VHSC6f8B0mkbkg/s320/2016-05-03+18_31_03-Oracle+JDeveloper+12c.png" width="320" /></a></div>
<br />
Im JDeveloper wird jetzt eine neue Verbindung angelegt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDPuFeto6bAOkVVfxLh9p83RdzgtouqHwvkvURdg2lcrAPvF1uIiBtH52Sa1qIgMSVqtjZmsSVhJ6dGhAhciVG5eeecnHVrIFBxvEOaR8BufGDyQb0kgO86UvM-kyJrSGXM7cnNHviRQ/s1600/2016-05-03+18_32_33-Create+Application+Server+Connection+-+Step+2+of+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDPuFeto6bAOkVVfxLh9p83RdzgtouqHwvkvURdg2lcrAPvF1uIiBtH52Sa1qIgMSVqtjZmsSVhJ6dGhAhciVG5eeecnHVrIFBxvEOaR8BufGDyQb0kgO86UvM-kyJrSGXM7cnNHviRQ/s400/2016-05-03+18_32_33-Create+Application+Server+Connection+-+Step+2+of+3.png" width="400" /></a></div>
<br />
Standalone Server auswählen, Namen vergeben und weiter ...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifnUZfz8ZGorLHJjgPoKf2x7cI3EsrwJ1QV3fH7QXd4-VOZGPzFe29KEZz5uPa-_UWS2BZQyCW_zUg0QTBNsNwS9P9BRm-pi1d8QuXusvMbs7t2hdqxqfLPfBZ7io5lbN1wMT-xzdxFg/s1600/2016-05-03+18_34_22-Create+Application+Server+Connection+-+Step+4+of+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifnUZfz8ZGorLHJjgPoKf2x7cI3EsrwJ1QV3fH7QXd4-VOZGPzFe29KEZz5uPa-_UWS2BZQyCW_zUg0QTBNsNwS9P9BRm-pi1d8QuXusvMbs7t2hdqxqfLPfBZ7io5lbN1wMT-xzdxFg/s640/2016-05-03+18_34_22-Create+Application+Server+Connection+-+Step+4+of+6.png" width="640" /></a></div>
<br />
Nach Benutzername und Password werden hier die Verbindungsdaten für den SOACS eingegeben. Hostname ist localhost, den Rest erledigt der Tunnel. Und wichtig: also Port die 9001 und nicht 7001 wählen, weil der tunnelbare Channel benutzt werden soll. Den Namen der Domain kopiert man am besten als der WLS Console.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw8Cdi9VktdpmjrftHeoLCgyeu_-u1edv9jIbxrFltqb3CNdmif0tvnWY-m24LMIU2Z7_SphDY2DjmiQXTd1qnA-bdBU60eUA3Wr02KwJK0PlN2aYyDegsQgNDxEyhTEuoZrZAgCRB3w/s1600/2016-05-03+18_37_51-Create+Application+Server+Connection+-+Step+5+of+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw8Cdi9VktdpmjrftHeoLCgyeu_-u1edv9jIbxrFltqb3CNdmif0tvnWY-m24LMIU2Z7_SphDY2DjmiQXTd1qnA-bdBU60eUA3Wr02KwJK0PlN2aYyDegsQgNDxEyhTEuoZrZAgCRB3w/s400/2016-05-03+18_37_51-Create+Application+Server+Connection+-+Step+5+of+6.png" width="400" /></a></div>
<br />
Ein Mal testen und fertig.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoRluh2ldpUEUYQFpTKUFejGaVzhP2qJEiUbg76NC9ATgzmnEBBdbVkPndnQh15_kvns42JUYi83wSoz2VYG_rPg66Z7kmJrBbKLt6uCkjVNKi-iKOW3N2fId-iDJX3ULLjqUWqs4s6Q/s1600/2016-05-03+18_38_52-Oracle+JDeveloper+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoRluh2ldpUEUYQFpTKUFejGaVzhP2qJEiUbg76NC9ATgzmnEBBdbVkPndnQh15_kvns42JUYi83wSoz2VYG_rPg66Z7kmJrBbKLt6uCkjVNKi-iKOW3N2fId-iDJX3ULLjqUWqs4s6Q/s320/2016-05-03+18_38_52-Oracle+JDeveloper+12c.png" width="320" /></a></div>
<br />
Im Applications-Window wird der neu hinzugefügte Server angezeigt. Damit ist der SOACS für die weitere Verwendung im JDeveloper fertig konfiguriert.<br />
<br /></div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-28230822947544156662016-04-29T04:59:00.001-07:002016-05-03T09:04:53.634-07:00Oracle SOA Cloud Service per SSH-Tunnel anbinden<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
In diesem Teil des Tutorials wird via PuTTY ein SSH-Tunnel zur im vorherigen Teil angelegten SOA Cloud Service (SOACS) Instanz aufgebaut<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkiJADkarQ0MzSk2XFqTi9cepTxnOC6AE3YxyIMqEYVvWI3qTYrNhah70KZ2Owji0DrpUkihgUgwZmkCd2yNNjZqqeRD8C6vfy_YJl0Ayu9kZpHTeRAwzMJ-k4eaZgWzT5x2A0Olc2Pg/s1600/2016-04-29+11_06_08-Oracle+Compute+Cloud+Service+-+Instance+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkiJADkarQ0MzSk2XFqTi9cepTxnOC6AE3YxyIMqEYVvWI3qTYrNhah70KZ2Owji0DrpUkihgUgwZmkCd2yNNjZqqeRD8C6vfy_YJl0Ayu9kZpHTeRAwzMJ-k4eaZgWzT5x2A0Olc2Pg/s400/2016-04-29+11_06_08-Oracle+Compute+Cloud+Service+-+Instance+Details+-+Opera.png" width="400" /></a></div>
<br />
Hierfür wird zunächst die public IP-Adresse benötigt, die in der Service Console des zugehörigen Compute Service kopiert werden kann.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip6M22ysezqAiz3oJjt-ng_fM8H-FkUThiuS36wtSHANlBhPpMilBDuZQrdvSVgZvHurfZeiUhPXJ_c8gmsoALC8SjnDbaVjUMuRW-NaDDMpXMnmPnQZ04TuvfROtXGpgwdHYDbD2lkA/s1600/2016-04-29+11_07_23-PuTTY+Configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip6M22ysezqAiz3oJjt-ng_fM8H-FkUThiuS36wtSHANlBhPpMilBDuZQrdvSVgZvHurfZeiUhPXJ_c8gmsoALC8SjnDbaVjUMuRW-NaDDMpXMnmPnQZ04TuvfROtXGpgwdHYDbD2lkA/s320/2016-04-29+11_07_23-PuTTY+Configuration.png" width="320" /></a></div>
<br />
Weiter geht es in PuTTY. Auf der Einstiegseite wird die public IP-Adresse eingefügt. Hier kann die Verbindung auch für die weitere Verwendung gespeichert werden. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQpyO8RS2aHno_cZNlFjBGSBGFK-FV1IIw5PSvwgXzVSoyutEnMNmFsp0gttejnwaXJAPXx0p5vntHJ7jyDFd5T8BirSEH_LcSQQA6jCGfKbeANWoayUBB3A8Tz2fpYny1wrhEot-KcA/s1600/2016-04-29+11_08_12-PuTTY+Configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQpyO8RS2aHno_cZNlFjBGSBGFK-FV1IIw5PSvwgXzVSoyutEnMNmFsp0gttejnwaXJAPXx0p5vntHJ7jyDFd5T8BirSEH_LcSQQA6jCGfKbeANWoayUBB3A8Tz2fpYny1wrhEot-KcA/s320/2016-04-29+11_08_12-PuTTY+Configuration.png" width="320" /></a></div>
<br />
Unter Connection/Data wird der Username 'opc' eingetragen. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9OhpemlA7ScdZqgcmJgsnRD4d4apbsR8aJv2i2f18ezh2ouCn24K4y3UVxc4McvIhDNkeo3yiI2XKCyW2-0WNbaWoQLLGdh_b-ds0tOJqfjA4kksK8_K3f4yds519G6RBnSdYAZ-Eaw/s1600/2016-04-29+11_08_21-PuTTY+Configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9OhpemlA7ScdZqgcmJgsnRD4d4apbsR8aJv2i2f18ezh2ouCn24K4y3UVxc4McvIhDNkeo3yiI2XKCyW2-0WNbaWoQLLGdh_b-ds0tOJqfjA4kksK8_K3f4yds519G6RBnSdYAZ-Eaw/s320/2016-04-29+11_08_21-PuTTY+Configuration.png" width="320" /></a></div>
<br />
'Don't start a shell or command at all' wird unter Connection/SSH aktiviert. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOYLe9rfHhF9q33IZbzZBloXMAwP3XJYmbUZ9WzRl5G-5d5KhK6Q05pPw1pppFLuylgKQMPOZppWOnw064bvaHpSFOGug42Bo5YL1ZvD-O-WNmi20tnQmBSBE-0ZAuyfWF2cN9LJU-FA/s1600/2016-04-29+11_08_31-PuTTY+Configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOYLe9rfHhF9q33IZbzZBloXMAwP3XJYmbUZ9WzRl5G-5d5KhK6Q05pPw1pppFLuylgKQMPOZppWOnw064bvaHpSFOGug42Bo5YL1ZvD-O-WNmi20tnQmBSBE-0ZAuyfWF2cN9LJU-FA/s320/2016-04-29+11_08_31-PuTTY+Configuration.png" width="320" /></a></div>
<br />
Der private key wird unter Connection/SSH/Auth ausgewählt. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV1iQJ4ElyvCHGwjZgrjySezGI4gxglhf51kLvnpAbaArWvqSvDJ2Chm4ETH5SXXZfhmnI_D70TQKHEVGY9bX566XSg_J0xaQH6ArXH_ghQcWwPC9dOaFONtAJv150g9qrQFcgI0eYpQ/s1600/2016-05-03+18_03_32-PuTTY+Configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV1iQJ4ElyvCHGwjZgrjySezGI4gxglhf51kLvnpAbaArWvqSvDJ2Chm4ETH5SXXZfhmnI_D70TQKHEVGY9bX566XSg_J0xaQH6ArXH_ghQcWwPC9dOaFONtAJv150g9qrQFcgI0eYpQ/s320/2016-05-03+18_03_32-PuTTY+Configuration.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Schliesslich werden unter 'Tunnels' die Ports ausgewählt, die weitergeleitet werden sollen. Der Port für den Admin-Server lässt sich aus der WebLogic Console kopieren, der Zugriff ist im letzten Teil beschrieben..<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0ZOsqiNdoSs5FQPg6vhmbiLde4j-ORWUmRd6ZkOcJKiMPKcxSPL4T2YGcDqzFCGFsk8fNjG7p6HtTmyFMFP90vfl_H0uFnhPvknum9geV7TQ8hXc4e5FztQVbCGEOGIfRpfXoKgI3zg/s1600/2016-04-29+11_09_56-141.145.27.107+-+PuTTY.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="66" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0ZOsqiNdoSs5FQPg6vhmbiLde4j-ORWUmRd6ZkOcJKiMPKcxSPL4T2YGcDqzFCGFsk8fNjG7p6HtTmyFMFP90vfl_H0uFnhPvknum9geV7TQ8hXc4e5FztQVbCGEOGIfRpfXoKgI3zg/s320/2016-04-29+11_09_56-141.145.27.107+-+PuTTY.png" width="320" /></a></div>
<br />
Jetzt sollte die Konfiguration gespeichert werden. Danach kann der Tunnel gestartet werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia1QDb4nRQTJSF0bKGNvGRmxGrq5Kb1jlYr_uWHdbNVe-J6poKdLdYhb0ldVP4RmSar2fUtJWscDDn6897SMirXGUy_zq7NTiyGcUe3etAmyde74zaW4Kqjy5jGvtZXURUjAXULSxMhg/s1600/2016-04-29+11_10_54-Summary+of+Servers+-+soacs-jc_domain+-+WLS+Console+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia1QDb4nRQTJSF0bKGNvGRmxGrq5Kb1jlYr_uWHdbNVe-J6poKdLdYhb0ldVP4RmSar2fUtJWscDDn6897SMirXGUy_zq7NTiyGcUe3etAmyde74zaW4Kqjy5jGvtZXURUjAXULSxMhg/s640/2016-04-29+11_10_54-Summary+of+Servers+-+soacs-jc_domain+-+WLS+Console+-+Opera.png" width="640" /></a></div>
<br />
Danach stehen unter den lokalen Ports die entsprechenden Ports der Cloud-Instanz getunnelt zur Verfügung. Unter <span style="font-family: "courier new" , "courier" , monospace;">localhost:7001/console</span> findet sich dann die WebLogic Console ...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVgFb8SdfPiz4mVQNzn51GfHo-zyn9R_t3J4IoIx5TeWTAAGeGK1aVtPXhsEyWj83TcgHLBr1IiAHz0551ONLTLWmdAMK4A58D0b2_3xEjBtBvN_yj6XOUnGhuLp10T6ffszxSVu7GvQ/s1600/2016-04-29+11_12_37-soacs-jc_domain+%2528Oracle+WebLogic+Domain%2529+-+Oracle+Enterprise+Manager+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="435" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVgFb8SdfPiz4mVQNzn51GfHo-zyn9R_t3J4IoIx5TeWTAAGeGK1aVtPXhsEyWj83TcgHLBr1IiAHz0551ONLTLWmdAMK4A58D0b2_3xEjBtBvN_yj6XOUnGhuLp10T6ffszxSVu7GvQ/s640/2016-04-29+11_12_37-soacs-jc_domain+%2528Oracle+WebLogic+Domain%2529+-+Oracle+Enterprise+Manager+-+Opera.png" width="640" /></a></div>
<br />
... und unter <span style="font-family: "courier new" , "courier" , monospace;">localhost:7001/em</span> das Fusion Middleware Control. Damit ist der SSH-Tunnel fertig konfiguriert.</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-57062266449575056592016-04-28T08:26:00.001-07:002016-04-28T08:29:32.217-07:00Oracle SOA Cloud Service (SOACS): Instanz anlegen<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
In diesem Teil des Tutorials wird eine Instanz der Oracle SOA-Suite über den SOA Cloud Service (SOACS) aufgesetzt. Die vorherigen Teile zum Erstellen der Storage-Container und der Datenbank-Instanz sind hierfür Voraussetzung.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbaVY5NgwJYRoTZuF0jOAR51nxvP9eTUXQ1ZtT3_4Xh-uXYAq8TxpIiGPA5lbAaXiapd8bbAMt9_-TMMzUDI8HkV52_lAPlgYN9SFarERDvbsfVj5mf_q3xb9Hm0CyWmV93juO1P-3aw/s1600/2016-04-28+14_31_56-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbaVY5NgwJYRoTZuF0jOAR51nxvP9eTUXQ1ZtT3_4Xh-uXYAq8TxpIiGPA5lbAaXiapd8bbAMt9_-TMMzUDI8HkV52_lAPlgYN9SFarERDvbsfVj5mf_q3xb9Hm0CyWmV93juO1P-3aw/s640/2016-04-28+14_31_56-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Los geht es in der Service Console des SOACS per 'Create Instanze'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLVhtkB_D7gmfmB2vIgjjDr-tVrdqSfIr1eiENjtJM30on6V0y6_wNFLeo4GFlg7XNbOQH_fRrbda3vgGHeLFU56fwh846D3NGOUx4fa9rAMDh0WIw4jQ6-H1S02RO3PTH7TpsaDCwJg/s1600/2016-04-28+14_32_35-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="547" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLVhtkB_D7gmfmB2vIgjjDr-tVrdqSfIr1eiENjtJM30on6V0y6_wNFLeo4GFlg7XNbOQH_fRrbda3vgGHeLFU56fwh846D3NGOUx4fa9rAMDh0WIw4jQ6-H1S02RO3PTH7TpsaDCwJg/s640/2016-04-28+14_32_35-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Für die weiteren Tutorials benötigen wir einen SOA Cluster<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg1oF75LiNtFxV951d-2kvNXMnSpnvXbC3mEhzxmO_DLel51ZzGvVW9klv4KPYWapww-qHtPEkw747Gv5xRj0A-aV-JKUC76KpAFDAH7jolFDKnJ9Zf627lpBKr9cZi1RuqM-0oIK2RQ/s1600/2016-04-28+14_33_20-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg1oF75LiNtFxV951d-2kvNXMnSpnvXbC3mEhzxmO_DLel51ZzGvVW9klv4KPYWapww-qHtPEkw747Gv5xRj0A-aV-JKUC76KpAFDAH7jolFDKnJ9Zf627lpBKr9cZi1RuqM-0oIK2RQ/s640/2016-04-28+14_33_20-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Die einzige verfügbare Version passt so.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAy4CuJ21nryu-kG5clMWU7pkVt-r4zYjvVgWu0ee6AQIdW-4aoNdwve8uVAUxxU0nqKGXDGHx9uUHY8ASQndg_DPZ2I8r9wI0up7T534IDvXRwWolsKuJjVOtmHqZGvU0h9bmzEGVRg/s1600/2016-04-28+14_37_02-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAy4CuJ21nryu-kG5clMWU7pkVt-r4zYjvVgWu0ee6AQIdW-4aoNdwve8uVAUxxU0nqKGXDGHx9uUHY8ASQndg_DPZ2I8r9wI0up7T534IDvXRwWolsKuJjVOtmHqZGvU0h9bmzEGVRg/s640/2016-04-28+14_37_02-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Hier werden die Konfigurationsinformationen erfasst. Neben Compute Shape, SSH Key und Benutzername/Password wird hier die vorher angelegte Datenbank ausgewählt. Wichtig: hier werden nur Datenbanken angeboten, für die auch ein Backup konfiguriert ist. Dann benötigt der SOACS noch einen Storage Container. Der Name ist, wie auch beim Storage für die Datenbank, anzugeben im Format Storage-[Identity Domain]/[Container-Name]. In diesem Tutorial ist dies der zuvor erstellte SOACScontainer.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOpzouX7UTDOv4sZaQHwqAC9kuFZT16-lxW8QsLpVx6S2xVlj-KHzet84wneaij-kR9pMK-jVhtHHSmb6cX29n9ALP0vS-8oyEZ5Yw1O0KLkTPM8dtkQbDaUALlRL6NmuPd63gOfk1zg/s1600/2016-04-28+14_37_24-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOpzouX7UTDOv4sZaQHwqAC9kuFZT16-lxW8QsLpVx6S2xVlj-KHzet84wneaij-kR9pMK-jVhtHHSmb6cX29n9ALP0vS-8oyEZ5Yw1O0KLkTPM8dtkQbDaUALlRL6NmuPd63gOfk1zg/s640/2016-04-28+14_37_24-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Zusammenfassung und weiter.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnX7Ib_m0pv-sYFBKAQsmBJLciN0V3mZmmHBxJEUTZovElS6y_RcZgihL8xbCK4old4_OdLwFmjml9uuuVhON7zuYT8VDt2iphJ4Blmo0gFlaXYfd2mHe9H-ttW4pojnrdlA7cNUH8Vg/s1600/2016-04-28+14_38_19-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnX7Ib_m0pv-sYFBKAQsmBJLciN0V3mZmmHBxJEUTZovElS6y_RcZgihL8xbCK4old4_OdLwFmjml9uuuVhON7zuYT8VDt2iphJ4Blmo0gFlaXYfd2mHe9H-ttW4pojnrdlA7cNUH8Vg/s640/2016-04-28+14_38_19-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Bei Klick auf 'In Progress' gibt es detailierte Informationen über den Fortschritt<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrnQzHQdUjRutRvR35uk7xTVGqW1Gqt-QVVXbd6YIlFDtbOZDTUm69E-0bImFeXR-qH26dEd3cqwN0shvTP_zgoNlRXvjjVGyrfzMSBVnbtC0nvDe7yI6xgLMORF5pEGgQGpmfPG4qAA/s1600/2016-04-28+15_48_52-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrnQzHQdUjRutRvR35uk7xTVGqW1Gqt-QVVXbd6YIlFDtbOZDTUm69E-0bImFeXR-qH26dEd3cqwN0shvTP_zgoNlRXvjjVGyrfzMSBVnbtC0nvDe7yI6xgLMORF5pEGgQGpmfPG4qAA/s640/2016-04-28+15_48_52-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Wenn die Erstellung abgeschlossen ist, landet man per Klick auf den Instanznamen auf der jeweiligen Übersicht. Per Klick auf das Menüsymbol oben rechts gelangt man in die von der on-premise Variante bekannten Tools:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwQ_nrJu6AuQQBnqXZ3GpG4qLvUl-ViN48bwJpS4gV0_Ok3utEQgw4qJEdlZzZE_f7l_GaJjn04SUZzdD_olBb_4gG6haZcpmPbp44UZc3LLWwyNyqjMLwkEYypcztLlMjzTfA9cLJ8g/s1600/2016-04-28+15_54_22-Summary+of+Servers+-+soacs-jc_domain+-+WLS+Console+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwQ_nrJu6AuQQBnqXZ3GpG4qLvUl-ViN48bwJpS4gV0_Ok3utEQgw4qJEdlZzZE_f7l_GaJjn04SUZzdD_olBb_4gG6haZcpmPbp44UZc3LLWwyNyqjMLwkEYypcztLlMjzTfA9cLJ8g/s320/2016-04-28+15_54_22-Summary+of+Servers+-+soacs-jc_domain+-+WLS+Console+-+Opera.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
WebLogic Console</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggSSA01RpzwaGWfAj1iwpynU-_zgrKH3EW9jVg6_YhyphenhyphenItNi1Fl-_I1Jur3T0yLOadtIWDvoVMQCpOD4xsIN4bSJftwpzWVFK4jqWp47rNPoGkoqs246vRfIVXgOiW_W-R6oa5_YXdjaQ/s1600/2016-04-28+15_55_42-soacs-jc_domain+%2528Oracle+WebLogic+Domain%2529+-+Oracle+Enterprise+Manager+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="157" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggSSA01RpzwaGWfAj1iwpynU-_zgrKH3EW9jVg6_YhyphenhyphenItNi1Fl-_I1Jur3T0yLOadtIWDvoVMQCpOD4xsIN4bSJftwpzWVFK4jqWp47rNPoGkoqs246vRfIVXgOiW_W-R6oa5_YXdjaQ/s320/2016-04-28+15_55_42-soacs-jc_domain+%2528Oracle+WebLogic+Domain%2529+-+Oracle+Enterprise+Manager+-+Opera.png" width="320" /></a></div>
<div style="text-align: center;">
FMW Control</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmgRzUgcQslpH8ntR69oHMZ5NK1qWfsQMn9xVmgoZc-tkY0PYgeeKDyy7fVWnRXfQlPa-dkLf3wJC5bCpduhdkZg7rKtaO4ad2ACGkPP6_ciBfVfEyW7T7DnT0ipBSrL6_FZk9h05SFQ/s1600/2016-04-28+15_58_02-SOA+Composer+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmgRzUgcQslpH8ntR69oHMZ5NK1qWfsQMn9xVmgoZc-tkY0PYgeeKDyy7fVWnRXfQlPa-dkLf3wJC5bCpduhdkZg7rKtaO4ad2ACGkPP6_ciBfVfEyW7T7DnT0ipBSrL6_FZk9h05SFQ/s320/2016-04-28+15_58_02-SOA+Composer+-+Opera.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
SOA Composer</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5eZr5zsDlG6wgaijyntUbZmGSAnAhAB3GuIrHek59uVtnosOEcAp-8Mr1cpfTZ3Mem21-XimZlrxQUQfeHWPAy9HgOIatgrDfRzc3Cbr9aeJXuxcwduE20afM59tCRiUe40e3OvMkLA/s1600/2016-04-28+15_59_30-BPM+Worklist+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5eZr5zsDlG6wgaijyntUbZmGSAnAhAB3GuIrHek59uVtnosOEcAp-8Mr1cpfTZ3Mem21-XimZlrxQUQfeHWPAy9HgOIatgrDfRzc3Cbr9aeJXuxcwduE20afM59tCRiUe40e3OvMkLA/s320/2016-04-28+15_59_30-BPM+Worklist+-+Opera.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Worklist Application</div>
<br />
In der Instanz-Übersicht im Bereich Administration gibt es Zugriff auf das zusätzliche Cloud-Tooling, welches es in dieser Form on-premise nicht gibt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuF_YsWhJYjgBbM6GgI31WD1ActhdudKmiwYXTwfYmONEN4YDdVw6ATve8ip7hUU1qDNIuEIDrrvKQMw3C76naGpR18lSrFVl6r4sTb_0tL-vNZK40ZkTP29-EnbZl4F65BWlSVn1evw/s1600/2016-04-28+16_04_43-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuF_YsWhJYjgBbM6GgI31WD1ActhdudKmiwYXTwfYmONEN4YDdVw6ATve8ip7hUU1qDNIuEIDrrvKQMw3C76naGpR18lSrFVl6r4sTb_0tL-vNZK40ZkTP29-EnbZl4F65BWlSVn1evw/s640/2016-04-28+16_04_43-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Neben der Konfiguration des Load Balancers, der in diesem Tutorial nicht genutzt wird, kann hier das Backup konfiguriert werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_nnG4eZp-ZLyg1XqmuhxKIBXdO2jwRL-RvGVAJAQwPyqFpSGn76gTWoGqbijhLx3sTl0hhGYQolAny3rF0haWRLWBKnpCOU3OUoHjr_hWFpHyhFJY6N0uf1AM0MJ1tTclteoCQ53svw/s1600/2016-04-28+16_05_31-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_nnG4eZp-ZLyg1XqmuhxKIBXdO2jwRL-RvGVAJAQwPyqFpSGn76gTWoGqbijhLx3sTl0hhGYQolAny3rF0haWRLWBKnpCOU3OUoHjr_hWFpHyhFJY6N0uf1AM0MJ1tTclteoCQ53svw/s400/2016-04-28+16_05_31-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="400" /></a></div>
<br />
Hier kann ausgewählt werden, ob die Datenbank gleich mit gesichert werden soll.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_h8B-w7pTK0xuh92Fe3c4c4MvLWWGy1xjeXMs13fSI5Kr6ndA1IW5nYRoNQazfFLflYCw6BLIs0Z_T3eQOm-JoTMC3n7axbMWq3zpomE7OnvSR59HFiLqukb9ih4p_tJfU7jauaUSuQ/s1600/2016-04-28+17_23_26-Oracle+SOA+Cloud+Service+Details+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_h8B-w7pTK0xuh92Fe3c4c4MvLWWGy1xjeXMs13fSI5Kr6ndA1IW5nYRoNQazfFLflYCw6BLIs0Z_T3eQOm-JoTMC3n7axbMWq3zpomE7OnvSR59HFiLqukb9ih4p_tJfU7jauaUSuQ/s640/2016-04-28+17_23_26-Oracle+SOA+Cloud+Service+Details+-+Opera.png" width="640" /></a></div>
<br />
Wenn das Backup erstellt ist, kann es hier direkt wieder eingespielt werden. Nützlich, falls im Laufe des Tutorials etwas schief geht.<br />
Damit ist die SOACS Instanz für die weiteren Schritte fertig konfiguriert.</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-79188448707560492016-04-27T01:13:00.000-07:002016-04-27T01:13:48.330-07:00Oracle Database Cloud Service (DBCS): Instanz einrichten<div dir="ltr" style="text-align: left;" trbidi="on">
Für die Installation des SOA Cloud Services (SOACS) wird eine Datenbank für das Repository benötigt. Dieses Tutorial zeigt die Schritte zum aufsetzen einer Datenbank-Instanz mit dem DBCS.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3hcH2A5RRPvOsn__ogQynJlMXghRIkTd2QAORxW0TipFoET3Dc0aXJ1x5NqKsZt7gabNnfoM-XzqQE40a4mv2VH93b7EjrXjbipFXDY9lTp_92YJoDytv1qW3u1-iaLoPMMUduS_TmQ/s1600/2016-04-26+14_42_31-My+Services+-+Dashboard+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3hcH2A5RRPvOsn__ogQynJlMXghRIkTd2QAORxW0TipFoET3Dc0aXJ1x5NqKsZt7gabNnfoM-XzqQE40a4mv2VH93b7EjrXjbipFXDY9lTp_92YJoDytv1qW3u1-iaLoPMMUduS_TmQ/s640/2016-04-26+14_42_31-My+Services+-+Dashboard+-+Opera.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Los geht es wieder im My Services Dashboard. Hier wird der 'Oracle Database Cloud Service' ausgewählt.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWvi5CZpyiBFTp_zCUM5WWxv46iosolVS9A0LkbTzkyfWfLpO-Vvh4q1nR_h-pn2KKvPnmKxRrncWl5Wndt1TQgsWPgmHhIw0auVZ6j41SGcslL1HIAx2e6NkGdTFyUC1mAkGFV2j3gg/s1600/2016-04-26+14_43_44-Service+Detail+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWvi5CZpyiBFTp_zCUM5WWxv46iosolVS9A0LkbTzkyfWfLpO-Vvh4q1nR_h-pn2KKvPnmKxRrncWl5Wndt1TQgsWPgmHhIw0auVZ6j41SGcslL1HIAx2e6NkGdTFyUC1mAkGFV2j3gg/s640/2016-04-26+14_43_44-Service+Detail+-+Opera.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Weiter geht es via 'Open Service Console'</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqwHopHc7jZO_2_-gmkmdFtdoDFpBAnqc9L45EZHch1iskJLelfYCJwROAH31xD1dGxBj8d-Pnz88Ivb-S6lh_PqNYX6eg773vfo6IrHeol7Vrp9wnTMsliHqSEUnLFrmha0BdMabcTA/s1600/2016-04-26+14_45_14-Oracle+Database+Cloud+Service+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqwHopHc7jZO_2_-gmkmdFtdoDFpBAnqc9L45EZHch1iskJLelfYCJwROAH31xD1dGxBj8d-Pnz88Ivb-S6lh_PqNYX6eg773vfo6IrHeol7Vrp9wnTMsliHqSEUnLFrmha0BdMabcTA/s640/2016-04-26+14_45_14-Oracle+Database+Cloud+Service+-+Opera.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Eine neue Datenbank Instanz wird erstellt per 'Create Service'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgogEjSiqgx8wyOEVEIaNa1kbatOcs0_ttHxXjjvJSaqflCW4A5eojGogJxVweauEW4gxdphviWZxfEcjpr4XROezLlRErA0iHwisCWL5FdnJeKVuinOTLc0UPnmJCKeacizXw7NF_Kcw/s1600/2016-04-26+14_45_59-Oracle+Database+Cloud+Service+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="452" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgogEjSiqgx8wyOEVEIaNa1kbatOcs0_ttHxXjjvJSaqflCW4A5eojGogJxVweauEW4gxdphviWZxfEcjpr4XROezLlRErA0iHwisCWL5FdnJeKVuinOTLc0UPnmJCKeacizXw7NF_Kcw/s640/2016-04-26+14_45_59-Oracle+Database+Cloud+Service+-+Opera.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Für den SOACS wird der normale 'Oracle Database Cloud Service' benötigt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwF7dbhcT6asjCClB2Au9m11EYlhVuYfWAdHuGPFl7Cvkq1IqspoinqaDX4pv1uckRrlzbeLiMSUsvLlTOSAAbGxtNyPSRk6_1xkv_NqHIafHiQzu-l-SDC9lm9Fkzzuz4O1TqS9LISA/s1600/2016-04-26+14_46_28-Oracle+Database+Cloud+Service+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwF7dbhcT6asjCClB2Au9m11EYlhVuYfWAdHuGPFl7Cvkq1IqspoinqaDX4pv1uckRrlzbeLiMSUsvLlTOSAAbGxtNyPSRk6_1xkv_NqHIafHiQzu-l-SDC9lm9Fkzzuz4O1TqS9LISA/s640/2016-04-26+14_46_28-Oracle+Database+Cloud+Service+-+Opera.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Hier wird die aktuelle Version ausgewählt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3us8TF6VuPkFnQmthBn-JgRg3-e-X2BuM7Kb65CEhkLlLvg9GQi2usVKQIduUp1QQQhM17I1wHLiadHSLCfCWShSywVtcQKhfmgv2CwyPx-MtDM0ibA0HSg8nwMX1sblW-yusX_KSvg/s1600/2016-04-26+14_46_57-Oracle+Database+Cloud+Service+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3us8TF6VuPkFnQmthBn-JgRg3-e-X2BuM7Kb65CEhkLlLvg9GQi2usVKQIduUp1QQQhM17I1wHLiadHSLCfCWShSywVtcQKhfmgv2CwyPx-MtDM0ibA0HSg8nwMX1sblW-yusX_KSvg/s640/2016-04-26+14_46_57-Oracle+Database+Cloud+Service+-+Opera.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Für die SOACS-Instanz im Tutorial reicht die Enterprise Edition. Für Produktionssysteme sollten aber die High- oder Extreme-Performance Varianten in betracht gezogen werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQW0dG6ab_7v-TIJewR_PFuqHtpSVgaTIlrEhZ8jS1Ih_ywGfn-4RFBOF4aFCfR9yrjdG9_SsylGrLK7T8TXGf7hrTht3NHGAhgd0e7dxlNUKkb09UubWuExo1_LoAKwzYcrbFcVWGyQ/s1600/2016-04-26+15_08_57-Oracle+Database+Cloud+Service+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="482" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQW0dG6ab_7v-TIJewR_PFuqHtpSVgaTIlrEhZ8jS1Ih_ywGfn-4RFBOF4aFCfR9yrjdG9_SsylGrLK7T8TXGf7hrTht3NHGAhgd0e7dxlNUKkb09UubWuExo1_LoAKwzYcrbFcVWGyQ/s640/2016-04-26+15_08_57-Oracle+Database+Cloud+Service+-+Opera.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Hier werden Service-Grössen und Namen sowie Passwörter abgefragt bzw. vergeben. Wichtig ist, die Backup Destination einzurichten, da dies für eine SOACS Repository DB Voraussetzung ist. Dafür wird der im vorigen Teil angelegte Cloud Storage Container angegeben (Format: Storage-IdentitiyDomain/Name). <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRxqMQBTNgIOBb7muI-UzIlU6pMBYLlJBKotSAEfe1MoofwCzXDKD-Dii4zTJ_fiOR0EWRIDT7Nfrc0PG9pjM-UA0sfKBxXsNq4pOyZakyMOXDivEcDmLvAxpvX18sNg-cyiz3tlHdKg/s1600/2016-04-26+15_09_28-Oracle+Database+Cloud+Service+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRxqMQBTNgIOBb7muI-UzIlU6pMBYLlJBKotSAEfe1MoofwCzXDKD-Dii4zTJ_fiOR0EWRIDT7Nfrc0PG9pjM-UA0sfKBxXsNq4pOyZakyMOXDivEcDmLvAxpvX18sNg-cyiz3tlHdKg/s400/2016-04-26+15_09_28-Oracle+Database+Cloud+Service+-+Opera.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Noch eine Zusammenfassung, dann geht es los.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaMm1LwfxWHeSMwAs7KbYhF8h_uWwKWmr9j2KnqwOyatG37Z8Me4TmZw7ItxpPH2XyXK3JayWeXd_PgUZM6pKNxva4dS_8YbgiMHFG5uB0rOYl3pIWdGZq_w4ahdbj7NT14_LK-MJJtA/s1600/2016-04-26+15_42_25-Oracle+Database+Cloud+Service+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaMm1LwfxWHeSMwAs7KbYhF8h_uWwKWmr9j2KnqwOyatG37Z8Me4TmZw7ItxpPH2XyXK3JayWeXd_PgUZM6pKNxva4dS_8YbgiMHFG5uB0rOYl3pIWdGZq_w4ahdbj7NT14_LK-MJJtA/s400/2016-04-26+15_42_25-Oracle+Database+Cloud+Service+-+Opera.png" width="400" /></a></div>
<br />
Nach einer kurzen Wartezeit steht die Datenbank zur Verfügung. Unten in der History wird die erstellung der DB angezeigt.<br />
Damit steht die Datenbank für die weiteren Schritte zur Verfügung.</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-89616933473207453932016-04-22T05:41:00.001-07:002016-04-22T05:45:07.110-07:00Ein Minecraft Server in der Oracle Cloud<div dir="ltr" style="text-align: left;" trbidi="on">
Dieses Tutorial beschreibt, wie man einen Minecraft-Server in der Oracle Cloud betreiben kann.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu9OkefroeaB_JCSdRAZDFiw-LJALmtsXpcoagUZab7DM9co2-fjQnslrUP1w9Yol-87gYB3SpXDYRfzFfC6HSiNycV3qR9vFcog1sH7mqSA_3TWvskW6DsXek6X9c6gHkLRaw_jsOZw/s1600/2016-04-22+10_38_57-cloud-drive-ui.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu9OkefroeaB_JCSdRAZDFiw-LJALmtsXpcoagUZab7DM9co2-fjQnslrUP1w9Yol-87gYB3SpXDYRfzFfC6HSiNycV3qR9vFcog1sH7mqSA_3TWvskW6DsXek6X9c6gHkLRaw_jsOZw/s640/2016-04-22+10_38_57-cloud-drive-ui.png" width="640" /></a></div>
<br />
Los geht es im eigenen Dashboard, hier wird der 'Oracle Compute Cloud Service' ausgewählt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwSx9my_lxXhJDfdTRhjLwCg5c17dkSNm7lUxKxUo5qiKn04hYTMEQu7bsdLdXP-0T6PpK39K0bvyPDYmX2RmDQHgYomkmbKc47Yi-shCy-0NQ1iOOMYMLDGNdg0ZIVIwBsEq-xUweZQ/s1600/2016-04-21+17_29_12-Oracle+Compute+Cloud+Service+-+Instances+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwSx9my_lxXhJDfdTRhjLwCg5c17dkSNm7lUxKxUo5qiKn04hYTMEQu7bsdLdXP-0T6PpK39K0bvyPDYmX2RmDQHgYomkmbKc47Yi-shCy-0NQ1iOOMYMLDGNdg0ZIVIwBsEq-xUweZQ/s640/2016-04-21+17_29_12-Oracle+Compute+Cloud+Service+-+Instances+%25E2%2580%2593+Opera.png" width="640" /></a></div>
<br />
In der Liste der Instanzen wird per 'Create Instance' eine neue Instanz erzeugt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWMuia6sEj7wwV74OhMsyApdAPVCJXcaotjP1kEPePBdU7RRKWgN8DDSY86LTLU3R5tOWL0IGAGJBd71uV5o42eP0ReYcvL1QU_tga3ADhqg9boKhbUvPCCMyBLypKszsl9KkqDCkfDA/s1600/2016-04-21+17_32_19-Oracle+Compute+Cloud+Service+-+Instance+Creation+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWMuia6sEj7wwV74OhMsyApdAPVCJXcaotjP1kEPePBdU7RRKWgN8DDSY86LTLU3R5tOWL0IGAGJBd71uV5o42eP0ReYcvL1QU_tga3ADhqg9boKhbUvPCCMyBLypKszsl9KkqDCkfDA/s640/2016-04-21+17_32_19-Oracle+Compute+Cloud+Service+-+Instance+Creation+%25E2%2580%2593+Opera.png" width="640" /></a></div>
<br />
Als Image wird das Oracle Linux 6.6 gewählt, der kleinste Shape mit 1 OCPU reicht völlig aus.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjShJSqdsRaqBuT8US2xBAhYRd1_5GOFeoVvWqT0iepzD_lwbEcAfpxV7w7yD4tDewTkeNWvxHLOVixFWUhjuEkA2gG4tXwxAvGUI4cJuy6gFxAJL_3PWDkZ007fRi7y6Vvyx9_tuUqWw/s1600/2016-04-21+17_33_22-Oracle+Compute+Cloud+Service+-+Instance+Creation+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjShJSqdsRaqBuT8US2xBAhYRd1_5GOFeoVvWqT0iepzD_lwbEcAfpxV7w7yD4tDewTkeNWvxHLOVixFWUhjuEkA2gG4tXwxAvGUI4cJuy6gFxAJL_3PWDkZ007fRi7y6Vvyx9_tuUqWw/s400/2016-04-21+17_33_22-Oracle+Compute+Cloud+Service+-+Instance+Creation+%25E2%2580%2593+Opera.png" width="400" /></a></div>
<br />
Auf der zweiten Seite können die Standardeinstellungen belassen werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnfZC-EcZynTArOG-RMJE3OmwN2IAQy7mXbd6OnebFzxXHt5aWGAw_JUX4w2GbJr3vehlmxvsNHxoIUqvLo-VLXMz_DNJPBKigPx2fRcLWCmBPX9w2dxrGAc8jNKNoF2U8UVbn3kmxvg/s1600/2016-04-21+17_36_05-Oracle+Compute+Cloud+Service+-+Instance+Creation+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnfZC-EcZynTArOG-RMJE3OmwN2IAQy7mXbd6OnebFzxXHt5aWGAw_JUX4w2GbJr3vehlmxvsNHxoIUqvLo-VLXMz_DNJPBKigPx2fRcLWCmBPX9w2dxrGAc8jNKNoF2U8UVbn3kmxvg/s400/2016-04-21+17_36_05-Oracle+Compute+Cloud+Service+-+Instance+Creation+%25E2%2580%2593+Opera.png" width="400" /></a></div>
<br />
<br />
Zusätzlicher Storage wird nicht benötigt, also weiter.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOd1VzaoBCmK9rBHuRVFAuP5ucAB35as7i9kpTYdhJ4b0s6iL8fb0dPzlwG1gf-_rTHvubqHFWCmYxpvsZrI7IQDvrtngZxyJaeBNKvUh87xLWbF48eW_7csXYT0fZ7vS7uq8iRl8yJA/s1600/2016-04-21+17_38_09-Oracle+Compute+Cloud+Service+-+Instance+Creation+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="321" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOd1VzaoBCmK9rBHuRVFAuP5ucAB35as7i9kpTYdhJ4b0s6iL8fb0dPzlwG1gf-_rTHvubqHFWCmYxpvsZrI7IQDvrtngZxyJaeBNKvUh87xLWbF48eW_7csXYT0fZ7vS7uq8iRl8yJA/s640/2016-04-21+17_38_09-Oracle+Compute+Cloud+Service+-+Instance+Creation+%25E2%2580%2593+Opera.png" width="640" /></a></div>
<br />
Wichtig ist aber der SSH Public Key. Sofern keiner zur Hand ist, beschreibt die <a href="https://docs.oracle.com/cloud/latest/dbcs_dbaas/CSDBI/GUID-4285B8CF-A228-4B89-9552-FE6446B5A673.htm#CSDBI3436" target="_blank">Oracle Cloud Dokumentation</a>, wie man einen erzeugt. Der Inhalt der .pub-Datei wird hier eingefügt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxCy_eG-dLZxnP2AxzE4ndnZpMDxY-zYanuLtaXGCgCxsLDztmvmNKFCkPP4yXxxkdS_0X3mXGgfu6Ryl5hplBqo3aXJO7ipQeF_vx8sxYbaAXrMjhvurOX2sZSeeJovU9GCU8lRZTpQ/s1600/2016-04-21+17_38_52-Oracle+Compute+Cloud+Service+-+Instance+Creation+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxCy_eG-dLZxnP2AxzE4ndnZpMDxY-zYanuLtaXGCgCxsLDztmvmNKFCkPP4yXxxkdS_0X3mXGgfu6Ryl5hplBqo3aXJO7ipQeF_vx8sxYbaAXrMjhvurOX2sZSeeJovU9GCU8lRZTpQ/s400/2016-04-21+17_38_52-Oracle+Compute+Cloud+Service+-+Instance+Creation+%25E2%2580%2593+Opera.png" width="400" /></a></div>
<br />
Hier noch eine Zusammenfassung, dann wird die Instanz via 'Create' erzeugt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuCTq6BF1wNDoUtmWu2yQvyicfH5jgubTdFFp8XPL7ergTSZlyoBlXqzsxmpbuPEDW8skenydulJFSLP2wovZGJblofA306xNz-4kbR6KOIIUSb2GIOFPrPplvlps_Pd9FqwgDL15_TA/s1600/2016-04-21+17_46_36-Oracle+Compute+Cloud+Service+-+Instances+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuCTq6BF1wNDoUtmWu2yQvyicfH5jgubTdFFp8XPL7ergTSZlyoBlXqzsxmpbuPEDW8skenydulJFSLP2wovZGJblofA306xNz-4kbR6KOIIUSb2GIOFPrPplvlps_Pd9FqwgDL15_TA/s640/2016-04-21+17_46_36-Oracle+Compute+Cloud+Service+-+Instances+%25E2%2580%2593+Opera.png" width="640" /></a></div>
<br />
Jetzt kurz warten, bis die Instanz im Status 'Running' ist. Dann die Public IP Adresse kopieren.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXJe0xKu3pGKqcLeGPsLPeVyC26-BFIeIossaECyhf3pE13wiYYGu-05Ca7HzgvEQxCj0mNQ_jSL59smZSrOdQTN-S2k6_9mlixfIeg-dWf3gumBKN6GgGT7SkdPYH5vVhJaIZQE0-Jg/s1600/2016-04-22+10_59_03-PuTTY+Configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="309" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXJe0xKu3pGKqcLeGPsLPeVyC26-BFIeIossaECyhf3pE13wiYYGu-05Ca7HzgvEQxCj0mNQ_jSL59smZSrOdQTN-S2k6_9mlixfIeg-dWf3gumBKN6GgGT7SkdPYH5vVhJaIZQE0-Jg/s320/2016-04-22+10_59_03-PuTTY+Configuration.png" width="320" /></a></div>
<br />
Weiter geht es es in einem SSH-Client, unter Windows z.B. Putty. Für die Verbindung wird die oben kopierte Public-IP eingetragen.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMzIVLr7gZI18SfRoNmh-rjf6VSbYISYOzhQpvKT9i3iWg4-_HtSrgBvv6yTlm9nYmEXsUDLQg5SV9oJWUfdZULOWZkEzVwy27ZaH88VB3osaP-zM5tTq6pAIfDAATMcjUIG_3zrQpzQ/s1600/2016-04-22+11_00_26-PuTTY+Configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="309" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMzIVLr7gZI18SfRoNmh-rjf6VSbYISYOzhQpvKT9i3iWg4-_HtSrgBvv6yTlm9nYmEXsUDLQg5SV9oJWUfdZULOWZkEzVwy27ZaH88VB3osaP-zM5tTq6pAIfDAATMcjUIG_3zrQpzQ/s320/2016-04-22+11_00_26-PuTTY+Configuration.png" width="320" /></a></div>
<br />
Bei Connection/Data wird als Auto-login username 'opc' eingetragen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEEfzfY2rwocPgfelBmj4ZAeKWF0lbWzXC0t3IGUxwUwcbKGZQkHknnmWRYhd7fZLmTERdcR0BfoMnILpGSFCTjLOtTu4Xg-0Z2xIHY5MyvPtDux74jCSqy_Y1ckjF49X4sSsbHsgrPw/s1600/2016-04-22+11_00_50-PuTTY+Configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="309" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEEfzfY2rwocPgfelBmj4ZAeKWF0lbWzXC0t3IGUxwUwcbKGZQkHknnmWRYhd7fZLmTERdcR0BfoMnILpGSFCTjLOtTu4Xg-0Z2xIHY5MyvPtDux74jCSqy_Y1ckjF49X4sSsbHsgrPw/s320/2016-04-22+11_00_50-PuTTY+Configuration.png" width="320" /></a></div>
<br />
Unter Connection/SSH/Auth wird dann unten der private key ausgewählt. Danach kann die Session mit 'Open' geöffnet werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigRkPDZLTZ8wdfEHjSGDf6W8YdYQlgX9loUiO5Wrxqj4PcqAPM0F22M4KAT2dfjNcX14oeJa5h_Y1o6csWY0djwIM3jbIXSEQ-Mu7qOrpf2xv93tImpKPpmWCtX_kn-WPN7B7acgX6yw/s1600/2016-04-22+10_55_11-Greenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="433" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigRkPDZLTZ8wdfEHjSGDf6W8YdYQlgX9loUiO5Wrxqj4PcqAPM0F22M4KAT2dfjNcX14oeJa5h_Y1o6csWY0djwIM3jbIXSEQ-Mu7qOrpf2xv93tImpKPpmWCtX_kn-WPN7B7acgX6yw/s640/2016-04-22+10_55_11-Greenshot.png" width="640" /></a></div>
<br />
Den Minecraft-Server bekommt man direkt beim Hersteller per<br />
<span style="font-family: "courier new" , "courier" , monospace;">wget https://s3.amazonaws.com/Minecraft.Download/versions/1.9.2/minecraft_server.1.9.2.jar</span><br />
Dieser wird dann gestartet per<br />
<span style="font-family: "courier new" , "courier" , monospace;">java -jar minecraft_server.1.9.2.jar</span><br />
Der Server terminiert aber wieder, weil zunächst die EULA akzeptiert werden muss.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJSqEb8_B4auIjTAMKEqpyvzSuMjeOzc4MYzfDV58cPygNgvB9opj3JsoLazf4rSEt_jhbW0dcD-xucOUW-YCDw7pND_0oTkQ42fUt1MHOvmFguhcY7D3lzmiqDLr5CR7PrVircMBkmA/s1600/2016-04-22+11_16_31-opc%2540b9f5b1_%257E_minecraft.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJSqEb8_B4auIjTAMKEqpyvzSuMjeOzc4MYzfDV58cPygNgvB9opj3JsoLazf4rSEt_jhbW0dcD-xucOUW-YCDw7pND_0oTkQ42fUt1MHOvmFguhcY7D3lzmiqDLr5CR7PrVircMBkmA/s640/2016-04-22+11_16_31-opc%2540b9f5b1_%257E_minecraft.png" width="640" /></a></div>
<br />
In der Datei eula.txt muss hierzu der Inhalt auf eula=true geändert werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_2usp53BVANyJ_x1ZyN-q3lpvCOyuyO7gWw8UHPQPlqU83SAReZfsxJFflHXCQ63hFy0tSXHuj29Md5-z43RveZcFqfXPC2nwal5j_8sUE8J52fpLlbEqe6-0Eeb4WINY7w3RKhU0xg/s1600/2016-04-22+12_47_25-%255Bscreen+0_+bash%255D+opc%2540ffc1be_%257E_minecraft.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="30" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_2usp53BVANyJ_x1ZyN-q3lpvCOyuyO7gWw8UHPQPlqU83SAReZfsxJFflHXCQ63hFy0tSXHuj29Md5-z43RveZcFqfXPC2nwal5j_8sUE8J52fpLlbEqe6-0Eeb4WINY7w3RKhU0xg/s400/2016-04-22+12_47_25-%255Bscreen+0_+bash%255D+opc%2540ffc1be_%257E_minecraft.png" width="400" /></a></div>
<br />
Da der Minecraft-Server eine interaktive Console hat, sollte er auch wieder ansprechbar sein, wenn die SSH-Verbindung zwischendurch geschlossen wurde. Dafür nutzen wir screen, welches praktischerweise schon installiert ist, via<br />
<span style="font-family: "courier new" , "courier" , monospace;">screen -S minecraft</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj0mleKvNJ-EqxgGERJjB5xyI66f6mv8KyHtlpA_ACw7mO2BATliK_IFYio1Hs_m1Um4DDjC4lzX4siZ9XjX53x1uViOCuOHCocSzOF9Gk6WmsejtCoIL6loNf7EA0t5_YZQqdcAVFGw/s1600/2016-04-22+11_30_14-opc%2540b9f5b1_%257E_minecraft.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj0mleKvNJ-EqxgGERJjB5xyI66f6mv8KyHtlpA_ACw7mO2BATliK_IFYio1Hs_m1Um4DDjC4lzX4siZ9XjX53x1uViOCuOHCocSzOF9Gk6WmsejtCoIL6loNf7EA0t5_YZQqdcAVFGw/s640/2016-04-22+11_30_14-opc%2540b9f5b1_%257E_minecraft.png" width="640" /></a></div>
<br />
Jetzt kann der Minecraft-Server erneut gestartet werden. SSH-seiting sind wir damit fertig, Der virtuelle Bildschirm von Screen kann einfach geschlossen oder auch sauber via CRTL-A D beendet werden. Ein reconnect auf den Minecraft-Server bekommt man per<br />
<span style="font-family: Courier New, Courier, monospace;">screen -d -r minecraft</span>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEistEfRESoYYjR0jLsGKPTZUTyc0W3tWBzUfFN18H4fySVeyjgTFY1tCLvt-3LL8Akv611-ucIxDcL1XOL-p68q38xu0a7QrPLSwmvI_6YEOZ9ynqyI-5SiwGEcF7w3LLTQvjs_CdklpQ/s1600/2016-04-22+14_18_15-Greenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEistEfRESoYYjR0jLsGKPTZUTyc0W3tWBzUfFN18H4fySVeyjgTFY1tCLvt-3LL8Akv611-ucIxDcL1XOL-p68q38xu0a7QrPLSwmvI_6YEOZ9ynqyI-5SiwGEcF7w3LLTQvjs_CdklpQ/s640/2016-04-22+14_18_15-Greenshot.png" width="640" /></a></div>
<br />
Weiter geht es denn wieder bei den Oracle Cloud Services. Der Minecraft Server läuft zwar, aber die Firewall blockiert noch die Zugriffe darauf und muß entsprechend konfiguriert werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6dbXpItLvx12j1TbXlY9l6mf10aPrPZOmzzETUTy9B476lE9nvsqmh0CcJKAgUGr82b81MOZzEy0w7lL6srf9e8efj-nvNlhHd68_TQYbwQDMqEXA7Yvu3ynACAtB_2WjKZngHunXrA/s1600/2016-04-22+14_21_15-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6dbXpItLvx12j1TbXlY9l6mf10aPrPZOmzzETUTy9B476lE9nvsqmh0CcJKAgUGr82b81MOZzEy0w7lL6srf9e8efj-nvNlhHd68_TQYbwQDMqEXA7Yvu3ynACAtB_2WjKZngHunXrA/s640/2016-04-22+14_21_15-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" width="640" /></a></div>
<br />
Dazu geht es weiter unter 'Network'. Standardmässig ist hier nur der SSH-Port offen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2wQVZlTchAxUHgvpQndiLEOaFcNEWDoEXjmgwJ4J7-ITy4KqnJGLpFNE4IAzjcipeznjLTztKa29WbR4ocQ0VWMDy1nwzKBEQdtNcaPn6Neb57ikohFxFWv-N1HRhhQgUm5JXtT99Ew/s1600/2016-04-22+14_25_33-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2wQVZlTchAxUHgvpQndiLEOaFcNEWDoEXjmgwJ4J7-ITy4KqnJGLpFNE4IAzjcipeznjLTztKa29WbR4ocQ0VWMDy1nwzKBEQdtNcaPn6Neb57ikohFxFWv-N1HRhhQgUm5JXtT99Ew/s640/2016-04-22+14_25_33-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" width="640" /></a></div>
<br />
Unter 'Security Applications' lässt sich eine neue Anwendung erstellen über 'Create Security Application'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnKyi6nij6RD84gqfi6hNGo94xooc_RErmxQP94_0aqZrB7WDdid8xVmJvGkf7xzMVzYOwL8XHRXEdXkrAU9S8ZKnDwA_x4B8HUKnOqIT5dPlmmS7t9cby_7MG9M8OW1nYSy8RVzHvYA/s1600/2016-04-22+14_28_13-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnKyi6nij6RD84gqfi6hNGo94xooc_RErmxQP94_0aqZrB7WDdid8xVmJvGkf7xzMVzYOwL8XHRXEdXkrAU9S8ZKnDwA_x4B8HUKnOqIT5dPlmmS7t9cby_7MG9M8OW1nYSy8RVzHvYA/s640/2016-04-22+14_28_13-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" width="640" /></a></div>
<br />
Der einzutragende Port für den Minecraft Server ist 25565.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxRPltZxFqwpydOGCsPV86EhK9yOWcWcOjhU1_7mVg0FnjGt3gxYE_7zvQyu8q49jYwrLZE4oc2RsUIRbVYkJS-ZHD5Gvsr51LK5bibN1wRMEx3RCex983i2MtkhHvYPk2ect7K7h09g/s1600/2016-04-22+14_29_34-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxRPltZxFqwpydOGCsPV86EhK9yOWcWcOjhU1_7mVg0FnjGt3gxYE_7zvQyu8q49jYwrLZE4oc2RsUIRbVYkJS-ZHD5Gvsr51LK5bibN1wRMEx3RCex983i2MtkhHvYPk2ect7K7h09g/s640/2016-04-22+14_29_34-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" width="640" /></a></div>
<br />
Für die Anwendung muss jetzt eine entsprechene Regel hinterlegt werden. Das geht unter 'Security Rules' per 'Create Security Rule'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtoNlHIfGdjyD_41RczJj9tQzNzMIpkmMlTO4umQW8lFCktJR6PA40_ivRzYdIPHurYZubPQnULHqwGpBikbVk4rKz-OkJxNNPEGRkZhfhj2cY6_8HS2r3Yy-vHBdmEWSRo79jKiUeeg/s1600/2016-04-22+14_32_23-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtoNlHIfGdjyD_41RczJj9tQzNzMIpkmMlTO4umQW8lFCktJR6PA40_ivRzYdIPHurYZubPQnULHqwGpBikbVk4rKz-OkJxNNPEGRkZhfhj2cY6_8HS2r3Yy-vHBdmEWSRo79jKiUeeg/s400/2016-04-22+14_32_23-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" width="378" /></a></div>
<br />
Hier wird als 'Security Application' Minecraft und als Source Security List 'public internet' ausgewählt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqVU6wsGt15cnx8YoZtL38IDVJRDSQOEqLfFh5UELEwertrcaT9CpQudbsYpoaaXRRGVQ1FUiJYc_DIx8zdo0QHEWOaV2sZKbuXQ7kxbAbyaHsvuvcZlz-3gMyhO0A_75WiAfnxUCbTw/s1600/2016-04-22+14_34_12-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqVU6wsGt15cnx8YoZtL38IDVJRDSQOEqLfFh5UELEwertrcaT9CpQudbsYpoaaXRRGVQ1FUiJYc_DIx8zdo0QHEWOaV2sZKbuXQ7kxbAbyaHsvuvcZlz-3gMyhO0A_75WiAfnxUCbTw/s640/2016-04-22+14_34_12-Oracle+Compute+Cloud+Service+-+Network+%25E2%2580%2593+Opera.png" width="640" /></a></div>
Die neue Regel wird dann zusammen mit der bestehenden angezeigt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjprrqwj_pMdQZb_lpxxvPxvBNBEp3OWblEaDtH9kjM7nwnFF_mADjpFIhvRXfavLXdJy0ErPo2XioKyAPYyezEUFE7Tjv5k3WNS14yJOc9q7js9bGnw1xl20a8ftlVpJgHZjRKzsFWZQ/s1600/2016-04-22+14_36_20-Minecraft+1.9.2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjprrqwj_pMdQZb_lpxxvPxvBNBEp3OWblEaDtH9kjM7nwnFF_mADjpFIhvRXfavLXdJy0ErPo2XioKyAPYyezEUFE7Tjv5k3WNS14yJOc9q7js9bGnw1xl20a8ftlVpJgHZjRKzsFWZQ/s400/2016-04-22+14_36_20-Minecraft+1.9.2.png" width="400" /></a></div>
<br />
In Minecraft wird nun ein neuer Server mit der Public-IP Adresse der Instanz konfiguriert.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7zeu6pukrJaPBAdtnOOY3Rl919B0T0LNsUhYLBdLsoP7nsWUPai-0fRL8gVssl3FaWUOh99AanRPms3akZ0KohOHdwZ0frMXDcSjFeOiLa26PkTXJ1xAhYao-JNiePNMAmhQ2thCCDA/s1600/2016-04-22+14_38_26-Minecraft+1.9.2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7zeu6pukrJaPBAdtnOOY3Rl919B0T0LNsUhYLBdLsoP7nsWUPai-0fRL8gVssl3FaWUOh99AanRPms3akZ0KohOHdwZ0frMXDcSjFeOiLa26PkTXJ1xAhYao-JNiePNMAmhQ2thCCDA/s400/2016-04-22+14_38_26-Minecraft+1.9.2.png" width="400" /></a></div>
<br />
Der Oracle Cloud Server wird dann in der Minecraft Serverliste angezeigt (mit sehr gutem Ping ;-), die Partie kann gestartet werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-aK7e9SE_uAJBnM6g5xhGvnkXKRkwyhrF4p_5jZqRv9ZCgsXNUDYLqnP6rkE6elkLDyiH9XS_KEvNJhBK8qjos8kuWLe0JsaEVyUxAzlAIhuM5DBS8DZ3lqY_V9qZfVhLecxY6-vd3Q/s1600/2016-04-22+14_40_48-Minecraft+1.9.2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-aK7e9SE_uAJBnM6g5xhGvnkXKRkwyhrF4p_5jZqRv9ZCgsXNUDYLqnP6rkE6elkLDyiH9XS_KEvNJhBK8qjos8kuWLe0JsaEVyUxAzlAIhuM5DBS8DZ3lqY_V9qZfVhLecxY6-vd3Q/s320/2016-04-22+14_40_48-Minecraft+1.9.2.png" width="320" /></a></div>
<br />
Viel Spaß mit der Oracle Cloud und Minecraft!</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-49343977678009123152016-04-21T03:21:00.000-07:002016-07-08T03:52:33.791-07:00Oracle Cloud: Storage Container verwalten per CloudBerry Explorer<div dir="ltr" style="text-align: left;" trbidi="on">
Im lezten Kapitel dieses Tutorials wurde gezeigt, wie Storage Conainer in der Oracle Cloud einfach per REST-API verwaltet werden können. Da die Oracle Storage Cloud aber auch kompatibel zu den entsprechenden OpenStack API's ist, können gängige Tools mit OpenStack-Unterstützung verwendet werden. Dieses soll am Beispiel des CloudBerry Explorers demonstriert werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY49RgQ5fpYdICHB9I1PP29Twa1ssikvUdkGL4viJV4bDST60Hi-BGWhvOaaaC_ncLxsijBqokMz0P7iip9Ri3IG_-MwHbQ1yi9Pi3Q_-DmHoXTfVbNRKHNmHC8irVi3P6vZBR3kTjbw/s1600/2016-04-21+12_01_53-.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY49RgQ5fpYdICHB9I1PP29Twa1ssikvUdkGL4viJV4bDST60Hi-BGWhvOaaaC_ncLxsijBqokMz0P7iip9Ri3IG_-MwHbQ1yi9Pi3Q_-DmHoXTfVbNRKHNmHC8irVi3P6vZBR3kTjbw/s320/2016-04-21+12_01_53-.png" width="320" /></a></div>
<br />
Als erstes muss ein entsprechender Account angelegt werden. Der CloudBerry Explorer kennt bereits die Oracle Cloud und bietet im File-Menü einen entprechenden Eintrag 'New Oracle Cloud Account'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtdcClvRMw4psFe2PTmfqt_yq8c-2pqXdi5di24-8FrbXC3h3HCcvatVrlahQ37xjmhAmpUY4Meu1GVBJUc5xG5ySMPz_IEOL3-FmzTjksyYwak9aquY_jQ3uPe-FUOU6OgJ-c-3VNxQ/s1600/2016-04-21+12_04_46-Edit+Oracle+Cloud+Storage+Account.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtdcClvRMw4psFe2PTmfqt_yq8c-2pqXdi5di24-8FrbXC3h3HCcvatVrlahQ37xjmhAmpUY4Meu1GVBJUc5xG5ySMPz_IEOL3-FmzTjksyYwak9aquY_jQ3uPe-FUOU6OgJ-c-3VNxQ/s400/2016-04-21+12_04_46-Edit+Oracle+Cloud+Storage+Account.png" width="346" /></a></div>
<br />
In dem Dialog werden die Zugangsdaten eingegeben. Zu beachten ist hier, dass der User Name sich, genau wie beim Aufruf der REST-API, zusammensetzt aus Storage-[Identity Domain]-[Username].<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6ktNNr9QtTmNCskJNgasvnP1qrA7KEj1OxCKUz-fx8N28_GDlBXTkzThyphenhyphensU6a0c8RqxgBnd-NgsC7LUnybC-gtXXkE7AnJwyaGJJc692hvhw9pHhdN0irv2qKHitD4vsbY0QKwHwFSw/s1600/2016-04-21+12_12_21-CloudBerry+Explorer+for+OpenStack+Storage+Pro.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6ktNNr9QtTmNCskJNgasvnP1qrA7KEj1OxCKUz-fx8N28_GDlBXTkzThyphenhyphensU6a0c8RqxgBnd-NgsC7LUnybC-gtXXkE7AnJwyaGJJc692hvhw9pHhdN0irv2qKHitD4vsbY0QKwHwFSw/s640/2016-04-21+12_12_21-CloudBerry+Explorer+for+OpenStack+Storage+Pro.png" width="640" /></a></div>
<br />
Im CloudBerry Explorer werden dann die bereits vorhandenen Storage Container angezeigt, so auch der im letzten Teil angelegte dbBackupContainer. Über das 'New Container' Icon kann ein weiterer Container angelegt werden, der im weiteren für den SOACS benötigt wird (z.B. SOACScontainer).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1banOAo3-DpyNnoIzGml5NgbZ8ECrxlRCoouW0IC0pou708Vc03t3BDno0qoJGOqz4qplEJBk0J7aMOluHfhuZK3hYkLP4tbVnwrz9Qoo3Ix5Wc_nBtlbfULt-DNHaoTdcCkLEOCIJw/s1600/2016-04-21+12_14_44-New+Container.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1banOAo3-DpyNnoIzGml5NgbZ8ECrxlRCoouW0IC0pou708Vc03t3BDno0qoJGOqz4qplEJBk0J7aMOluHfhuZK3hYkLP4tbVnwrz9Qoo3Ix5Wc_nBtlbfULt-DNHaoTdcCkLEOCIJw/s320/2016-04-21+12_14_44-New+Container.png" width="320" /></a></div>
<br />
Hier muss nur der Name vergeben werden, der Container type kann auf Standard bleiben.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXg2-2iwIz4QnBurqgKlmgkJhrIQvYKDajzPiWhCUbp6O6aPyQTw1ldqTL7vPyFLInL7GE7_rYGL0Y5S3M-cyP8-dyyP20zhrAMKi_Zef3tj8YRH9pA0u-5szjUMQ0Emv2MU4Ng8jDZw/s1600/2016-04-21+12_16_13-CloudBerry+Explorer+for+OpenStack+Storage+Pro.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXg2-2iwIz4QnBurqgKlmgkJhrIQvYKDajzPiWhCUbp6O6aPyQTw1ldqTL7vPyFLInL7GE7_rYGL0Y5S3M-cyP8-dyyP20zhrAMKi_Zef3tj8YRH9pA0u-5szjUMQ0Emv2MU4Ng8jDZw/s640/2016-04-21+12_16_13-CloudBerry+Explorer+for+OpenStack+Storage+Pro.png" width="640" /></a></div>
<br />
Jetzt sollten hier beide, der per Rest API angelegte dbBackupContainer und der eben angelegte SOACScontainer hier aufgeführt werden.<br />
Damit sind die benötigten Storage Container vorhanden, in den nächsten Kapiteln werden Cloud Services aufgesetzt die mit diesen Containern <a href="http://fmw-deutsch.blogspot.com/2016/04/oracle-database-cloud-service-dbcs.html">arbeiten</a><br />
<a href="http://fmw-deutsch.blogspot.com/2016/04/oracle-database-cloud-service-dbcs.html"><br /></a>
<a href="http://fmw-deutsch.blogspot.com/2016/04/oracle-database-cloud-service-dbcs.html">--> Nächster Schritt: Datenbank Instanz im Database Cloud Service einrichten</a></div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-67159534560903696792016-04-18T03:19:00.005-07:002016-04-29T05:29:48.049-07:00Oracle Cloud: Anlegen von Storage Containern per REST API<div dir="ltr" style="text-align: left;" trbidi="on">
Für den Oracle Cloud Workshop werden zuerst zwei Storage Container im Oracle Storage Cloud Service benötigt. Wie diese per REST-API mittels wget erstellt werden beschreibt die Oracle Dokumentation unter '<a href="https://docs.oracle.com/cloud/latest/storagecs_common/CSSTO/GUID-16FFE6D9-C3C0-4027-B5D0-8B88091E6BF9.htm#CSSTO3169" target="_blank">Authenticating Access When Using the REST API</a>'. Hier sollen zwei alternative Wege aufgezeigt werden: über die Firefox-Extension RESTClient und über das Windows-Tool CloudBerry Explorer for OpenStack.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLGpIBGjkBxSCTnXCVFx-B0xO3PHD7RP8ELTvTs1_ArUGDDnk4qYs7-n1OH-IWM2FndsyxuwMqnAhLTw6iWAb4s7V5U4dTXh8blILkT0_vaOEBOpbET1tfQ9X-Ys0svU8GhjC-zkUKuw/s1600/2016-04-18+12_30_22-My+Services+-+Dashboard+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="416" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLGpIBGjkBxSCTnXCVFx-B0xO3PHD7RP8ELTvTs1_ArUGDDnk4qYs7-n1OH-IWM2FndsyxuwMqnAhLTw6iWAb4s7V5U4dTXh8blILkT0_vaOEBOpbET1tfQ9X-Ys0svU8GhjC-zkUKuw/s640/2016-04-18+12_30_22-My+Services+-+Dashboard+-+Opera.png" width="640" /></a></div>
<br />
Los geht es nach dem Login in die Oracle Cloud Services im Dashboard, in dem alle gebuchten Services aufgeführt sind.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPd7iO9uT_yS5SP3dxXlQqWavysR2aT_5x9W6IjPiPifH5Z3Dxj-f2Bpmhsa63N2LRPQ21_RiiwUcE7hGo8zFopfDrNUnI1BXi81GQBsW3g7hrDiFQiQQmSH6iDXGvWYGwoUbcFKZVnQ/s1600/2016-04-18+12_33_16-My+Services+-+Dashboard+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPd7iO9uT_yS5SP3dxXlQqWavysR2aT_5x9W6IjPiPifH5Z3Dxj-f2Bpmhsa63N2LRPQ21_RiiwUcE7hGo8zFopfDrNUnI1BXi81GQBsW3g7hrDiFQiQQmSH6iDXGvWYGwoUbcFKZVnQ/s640/2016-04-18+12_33_16-My+Services+-+Dashboard+-+Opera.png" width="640" /></a></div>
<br />
Hier wird der Oracle Storage Cloud Service per Klick auf den Titel geöffnet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl1nbuA6jBuO5JO8PyiRK4nR8xKPYRHRu9v4zrJhcDhZUzfQii5IUprJW5rGp7FXGqxKIPkc6_KTTP5IpTWnlhUjeqdBoxj0PrHUsRoswO0tRHXxqeRdbD78zkVV-Jt_uR_9NUuqwdkg/s1600/2016-04-18+12_36_04-Service+Detail+-+Opera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl1nbuA6jBuO5JO8PyiRK4nR8xKPYRHRu9v4zrJhcDhZUzfQii5IUprJW5rGp7FXGqxKIPkc6_KTTP5IpTWnlhUjeqdBoxj0PrHUsRoswO0tRHXxqeRdbD78zkVV-Jt_uR_9NUuqwdkg/s640/2016-04-18+12_36_04-Service+Detail+-+Opera.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Die URL vom benötigten REST Endpoint wird hier aufgeführt und kann für die weitere Benutzung kopiert werden. Zur Authentifizierung muss diese zunächst editiert werden, wie in der <a href="https://docs.oracle.com/cloud/latest/storagecs_common/CSSTO/GUID-16FFE6D9-C3C0-4027-B5D0-8B88091E6BF9.htm#CSSTO3169" target="_blank">Dokumentation</a> beschrieben. Von z.B.<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">https://gse0nnnnnnn.storage.oraclecloud.com/v1/Storage-gse0nnnnnnn</span><br />
<br />
wird zunächst alles ab v1 entfernt, in diesem Beispiel also<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">https://gse0nnnnnnn.storage.oraclecloud.com/</span><br />
<br />
Danach wird 'auth/v1.0' angehängt, das Ergebnis sieht also aus wie folgt:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">https://gse0nnnnnnn.storage.oraclecloud.com/auth/v1.0 </span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqcN2Uaqj8Ao-eeR9o6DDc8gWSMKGcPyIzqsn8ugR_VjJWLxbGFaVEjDof9ikaus47YVTJ2jwChCopf1wE9V5q-ZO83u7StTrksWqwKeN3EFWq9AeQdZvj-q8qby9g5q6X-71cB4egiA/s1600/2016-04-18+12_48_51-RESTClient.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqcN2Uaqj8Ao-eeR9o6DDc8gWSMKGcPyIzqsn8ugR_VjJWLxbGFaVEjDof9ikaus47YVTJ2jwChCopf1wE9V5q-ZO83u7StTrksWqwKeN3EFWq9AeQdZvj-q8qby9g5q6X-71cB4egiA/s640/2016-04-18+12_48_51-RESTClient.png" width="640" /></a></div>
<br />
Mit dieser URL geht es dann weiter im Firefox mit der RESTClient Extension (oder natürlich in jeder anderen Browser/Extension-Kombination, die das gleiche tut), die für einen GET Request hier einkopiert wird. Bevor der Request aber ausgeführt werden kann, müssen die Informationen für Benutzername und Password per Header mitgegeben werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcpTzrhbO8yggRsRfr7ZuYzyuu4xIGNTLdHfkiNyM1ksIKLzPkyPGaV07Vxug4Ci3Dt2_jpjhoHLQx0smo1du_JjCLEswl7hnPKOaANw1QDOQQe13PFsg9fevZwsQ4AIwSmAnWXLF-jQ/s1600/2016-04-18+12_53_29-RESTClient.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcpTzrhbO8yggRsRfr7ZuYzyuu4xIGNTLdHfkiNyM1ksIKLzPkyPGaV07Vxug4Ci3Dt2_jpjhoHLQx0smo1du_JjCLEswl7hnPKOaANw1QDOQQe13PFsg9fevZwsQ4AIwSmAnWXLF-jQ/s640/2016-04-18+12_53_29-RESTClient.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Hierzu wird im Menü Headers der Punkt 'Custom Header' ausgewählt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxKtCwBevPk1fYzJ4YLQwDKkJpn41bSwLyw7u4e9SCOV6M5c1oEbPvMn5qFFcnyrvsO_6yh0w3n81fQhJeJAoH57F2ZsJcVgPOBcBdkeSQcRaCWRB5n9uqtMwd-gIJL82GjhouQDwXNg/s1600/2016-04-18+12_59_31-RESTClient.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxKtCwBevPk1fYzJ4YLQwDKkJpn41bSwLyw7u4e9SCOV6M5c1oEbPvMn5qFFcnyrvsO_6yh0w3n81fQhJeJAoH57F2ZsJcVgPOBcBdkeSQcRaCWRB5n9uqtMwd-gIJL82GjhouQDwXNg/s400/2016-04-18+12_59_31-RESTClient.png" width="400" /></a></div>
<br />
Der erste Header ist X-Storage-User, als Value wird der Benutzername eingetragen. Dieser setzt sich zusammen aus dem festen String 'Storage-', dem Namen der Identity Domain, einem Doppelpunkt ':' und dem eigentlichen Benutzernamen. Da wir diesen Header häufiger benötigen, sollte er gleich als Favorite abgespeichert werden.<br />
Auf dem gleichen Weg wird noch ein zweiter Header angelegt mit Name 'X-Storage-Pass' und als Value das Password des Users.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB8NME-d08hk6uTXc1G1uASjGdhKUwf3Ip6Cx_Ff6d29bI913JfLD9gKnGfWxwWpNna1YKIX651YfUR89w8fx9Aa0xJr0K4HfwcxNtwH72xgbWXhea8av3AAPI6wamvt4EaNXtx4gSHg/s1600/2016-04-18+13_06_02-RESTClient.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB8NME-d08hk6uTXc1G1uASjGdhKUwf3Ip6Cx_Ff6d29bI913JfLD9gKnGfWxwWpNna1YKIX651YfUR89w8fx9Aa0xJr0K4HfwcxNtwH72xgbWXhea8av3AAPI6wamvt4EaNXtx4gSHg/s640/2016-04-18+13_06_02-RESTClient.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Das Ergebnis sollte wie oben aussehen, also die URL mit auth/v1.0 und die beiden custom Header. Der Request kann jetzt mittels 'Send' abgeschickt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwYvHeXqQCdXXXAFowmZKMAtl3wrzaFxKxBgIQkl2VmNuZJzKFHqKd_R8dIhl1gVMy2guVLxhjJBBTMdi6Wu1fCK13JtixctUiy5Dk3LR9m17WgDY1zydQj_xAs4Vv8TgaBbmBQJ7ETw/s1600/2016-04-18+14_04_48-RESTClient.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwYvHeXqQCdXXXAFowmZKMAtl3wrzaFxKxBgIQkl2VmNuZJzKFHqKd_R8dIhl1gVMy2guVLxhjJBBTMdi6Wu1fCK13JtixctUiy5Dk3LR9m17WgDY1zydQj_xAs4Vv8TgaBbmBQJ7ETw/s640/2016-04-18+14_04_48-RESTClient.png" width="640" /></a></div>
<br />
Zurück gibt es ein Authentication Token, welches für die weitere Verwendung kopiert wird.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieX1-xVII-adcNYsKHIku3gUJOAI7oaao5oUUJAvuTX6U23WCPLrWn3k8Ns0WfoYUviCHc9I5pqNyoQU5e9LJ5Ood15bfVqzSrHwfgc2SOdQ69nIL6Np4OmQPMJzrJOw5HwT39X74pgQ/s1600/2016-04-18+14_31_56-RESTClient.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieX1-xVII-adcNYsKHIku3gUJOAI7oaao5oUUJAvuTX6U23WCPLrWn3k8Ns0WfoYUviCHc9I5pqNyoQU5e9LJ5Ood15bfVqzSrHwfgc2SOdQ69nIL6Np4OmQPMJzrJOw5HwT39X74pgQ/s640/2016-04-18+14_31_56-RESTClient.png" width="640" /></a></div>
<br />
Um einen neuen Container anzulegen, wird REST-konform einfach in eine nicht vorhandene Resource (= Storage Container) geschrieben. Da diese Resource noch nicht vorhanden ist, wird eine neue Angelegt. Der Name der Resource ist die Basis-URL, die wir oben aus der Seite des Storage Services kopiert haben und der Name des neuen Storage Containers (hier: dbBackupContainer).<br />
Wichtig ist hier, dass (wie bei allen folgenden Anfragen) die beiden oben angelegten Header gelöscht werden und statt dessen ein neuer Header X-Auth-Token angelegt wird. Das eben erhaltene Authentication Token wird als Value eingefügt. Dann kann der Request per 'Send' abgesetzt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipX_WjbhIovtNU5l4V8v6ckJsHa6fZwsD2R4uXiwy-J3mKdXyhyoigHMhUrw7-RVbxmBwwFZA0uLpOfyf3v2nSyHU35iSbIgqNRhWg5QtblgZQsbCu7cuiFrzhwx_1KyPkUtnmhI30Sg/s1600/2016-04-18+14_40_29-RESTClient.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipX_WjbhIovtNU5l4V8v6ckJsHa6fZwsD2R4uXiwy-J3mKdXyhyoigHMhUrw7-RVbxmBwwFZA0uLpOfyf3v2nSyHU35iSbIgqNRhWg5QtblgZQsbCu7cuiFrzhwx_1KyPkUtnmhI30Sg/s640/2016-04-18+14_40_29-RESTClient.png" width="640" /></a></div>
<br />
Wenn alles geklappt hat, kommt die Anfrage mit '201 Created' zurück.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTXAFBXvJNpMpE5GeC9KBiCsnujAAZ7wUisWu-UrE7eJy1KIr7e8ozyjneoAN9giiMKn1RuzSA2Bgq9drIO3KQgYuIMloDsSjirLTZUvjfoGck5pDEqjyPJfU8w9_GntOAceYsUBVsZA/s1600/2016-04-18+14_43_50-RESTClient.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTXAFBXvJNpMpE5GeC9KBiCsnujAAZ7wUisWu-UrE7eJy1KIr7e8ozyjneoAN9giiMKn1RuzSA2Bgq9drIO3KQgYuIMloDsSjirLTZUvjfoGck5pDEqjyPJfU8w9_GntOAceYsUBVsZA/s640/2016-04-18+14_43_50-RESTClient.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Die in der Instanz bereits vorhandenen Storage Container lassen sich ebenfalls per REST-API anzeigen. Praktischerweise kann der X-Auth-Token Header einfach stehen gelassen werden. Falls irgendwann ein 'unauthorized' Fehler kommt, ist vermutlich das Token abgelaufen und der erste Schritt muss wiederholt werden.<br />
Die URL für die Abfrage ist:<br />
https://gse0nnnnnn.storage.oraclecloud.com/v1/Storage-gse0nnnnnn?limit=15<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheVheoI8AL99wCRok3uNJL3sIUtrcsi_ZJEsEd853zzOi4ippI1a3GVBLwcQ2BCQpXZ4ht6BjG_b6hofIB6rvYwySUgnMlcsjoXLI1e4A28gb8Iy2UfQUZ5YNpFqticCbxNMEM6QMITg/s1600/2016-04-18+14_52_33-RESTClient.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheVheoI8AL99wCRok3uNJL3sIUtrcsi_ZJEsEd853zzOi4ippI1a3GVBLwcQ2BCQpXZ4ht6BjG_b6hofIB6rvYwySUgnMlcsjoXLI1e4A28gb8Iy2UfQUZ5YNpFqticCbxNMEM6QMITg/s640/2016-04-18+14_52_33-RESTClient.png" width="640" /></a></div>
<br />
Zurück kommt eine Liste der vorhandenen Storage Container, u.a. auch der eben angelegte dbBackupContainer.<br />
<br />
Da der Oracle Storage Cloud Service neben der REST-API auch die OpenStack Swift Api spricht, wird im nächsten Schritt dieses Tutorials das Erzeugen eines Storage Containers über OpenStack mit dem Tool CloudBerry Explorer gezeigt.<br />
<br />
==> <a href="http://fmw-deutsch.blogspot.com/2016/04/oracle-cloud-storage-container.html">Storage Container verwalten per CloudBerry Explorer</a></div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-74771241697696463232016-04-17T06:47:00.000-07:002016-05-03T09:42:15.084-07:00Oracle Cloud Handson Tutorial<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5DWNidfYNCKYWPErBxR-Q5d1iguoi2LkcyjHZ26vmhidl2RcwKau0aAqRRpe-SL6-pCMqeCesmQ_15WAxpDEYi8z03HFNgebidAvg12z5BlhClAV5HBLgXi_j_rZbwkRVBhEXC5M8hw/s1600/NAFM_IS_IS099R4aMW.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5DWNidfYNCKYWPErBxR-Q5d1iguoi2LkcyjHZ26vmhidl2RcwKau0aAqRRpe-SL6-pCMqeCesmQ_15WAxpDEYi8z03HFNgebidAvg12z5BlhClAV5HBLgXi_j_rZbwkRVBhEXC5M8hw/s640/NAFM_IS_IS099R4aMW.jpg" width="640" /></a></div>
<ol style="text-align: left;">
</ol>
In diesem handson-Tutorial werden mehrere Funktionalitäten der Oracle Cloud demonstriert.<br />
<ol style="text-align: left;">
<li><a href="http://fmw-deutsch.blogspot.com/2016/04/oracle-cloud-anlegen-von-storage.html">Anlegen von Storage Containern via REST-API</a></li>
<li><a href="http://fmw-deutsch.blogspot.com/2016/04/oracle-cloud-storage-container.html">Storage Container verwalten per CloudBerry Explorer</a></li>
<li><a href="http://fmw-deutsch.blogspot.com/2016/04/oracle-database-cloud-service-dbcs.html">Anlegen einer Database Cloud Service (DBCS) Instanz</a></li>
<li><a href="http://fmw-deutsch.blogspot.com/2016/04/oracle-soa-cloud-service-soacs-instanz.html">Aufsetzen einer SOA Cloud Service (SOACS) Instanz</a> </li>
<li><a href="http://fmw-deutsch.blogspot.com/2016/04/oracle-soa-cloud-service-per-ssh-tunnel.html">SOA Cloud Service per SSH-Tunnel anbinden</a> </li>
<li><a href="http://fmw-deutsch.blogspot.de/2016/05/jdeveloper-per-ssh-tunnel-soa-cloud.html">JDeveloper per SSH-Tunnel anbinden </a></li>
<li>JDeveloper per public-IP anbinden </li>
<li>Deployment einer Anwendung in den SOACS</li>
</ol>
<br /><ol style="text-align: left;">
</ol>
</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-90812142323271982942015-11-17T05:23:00.000-08:002015-11-17T05:23:51.615-08:00OSB 12c: Einfaches Tutorial mit Throttling<div dir="ltr" style="text-align: left;" trbidi="on">
Im folgenden ein einfaches Tutorial, um einen simplen SOAP-Service durch den OSB zu routen und dafür ein Throttling zu konfigurieren.<br />
<br />Hierfür benötigen wir einen simplen SOAP Service wie den <a href="http://fmw-deutsch.blogspot.de/2013/04/obtm-helloworld-webservice-monitoren.html">HelloWorld-Service aus dem OBTM-Tutorial</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaHH-VWqHInRjjbj50lJRTm3d6wE6dWdOBrIiXUXjOEjcbCjNnCOrlGF8YzgAC-d8r8ODZSvC9kksXxEoBROw1-Aia5aHsWqqqTBUMXG25nj_IciKZgM6J5fPkLva3V_TPKzHDG3RCkA/s1600/2015-11-17+13_03_05-Settings+for+HelloWorldService+-+soa_domain+-+WLS+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaHH-VWqHInRjjbj50lJRTm3d6wE6dWdOBrIiXUXjOEjcbCjNnCOrlGF8YzgAC-d8r8ODZSvC9kksXxEoBROw1-Aia5aHsWqqqTBUMXG25nj_IciKZgM6J5fPkLva3V_TPKzHDG3RCkA/s640/2015-11-17+13_03_05-Settings+for+HelloWorldService+-+soa_domain+-+WLS+Console.png" width="640" /></a></div>
<br />
In der WebLogic Console, auf der der Service läuft, bekommen wir die WSDL URL.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGjhyphenhyphenynbTz-xXVkcIB19Jb6Rf3plD0nB1rpY-qUEU3Cnxs6gKbbGkRzqUA5hQmaUI9QtDnDYmfpKz-ejynuBQRp8upPNebsowaugoo6mz59mUf42QBQsSk5zKfjNliDKBBY039Ipa0iQ/s1600/2015-11-17+13_07_46-Mozilla+Firefox.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGjhyphenhyphenynbTz-xXVkcIB19Jb6Rf3plD0nB1rpY-qUEU3Cnxs6gKbbGkRzqUA5hQmaUI9QtDnDYmfpKz-ejynuBQRp8upPNebsowaugoo6mz59mUf42QBQsSk5zKfjNliDKBBY039Ipa0iQ/s640/2015-11-17+13_07_46-Mozilla+Firefox.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Ein Klick auf den Link öffnet die WSDL in einem neuen Tab. Diese WSDL wird lokal im Dateisystem abgespeichert, ebenso die verlinkte XSD Datei geöffnet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHxFd7iZnTvoscny5oRvIl3KpFVKAN21rOu85F1VY9R1G9t6ymMr_zFswXyexGjb8jXxY6oysUqY2iFkZDMWsGfln0iCraQQG4c-qWRjUXwFB-XKnUpv-LQgkew17wbSdVKKk6mJPxHw/s1600/2015-11-17+13_11_34-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHxFd7iZnTvoscny5oRvIl3KpFVKAN21rOu85F1VY9R1G9t6ymMr_zFswXyexGjb8jXxY6oysUqY2iFkZDMWsGfln0iCraQQG4c-qWRjUXwFB-XKnUpv-LQgkew17wbSdVKKk6mJPxHw/s640/2015-11-17+13_11_34-Service+Bus+Console+12c.png" width="640" /></a></div>
<br />
Weiter geht es in der Service Bus Console, in der ein neues Projekt 'Throttling' angelegt wird. Nicht notwendig, aber zur Übersicht empfehlenswert sollten noch zwei Ordner WSDL und XSD angelegt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3p8-biKwG80HLTGUZ37RKdK16J14ESET8PtpvRUhBHGiTJusNGUjl9-f24k1xmMz_0AOXOGMQpX9hXnoqG3CpUf9zR-o86_vo6Htdzx77sQJssVmBJP3xRU78T9Gn7B_TsLleEXR8cQ/s1600/2015-11-17+13_14_46-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3p8-biKwG80HLTGUZ37RKdK16J14ESET8PtpvRUhBHGiTJusNGUjl9-f24k1xmMz_0AOXOGMQpX9hXnoqG3CpUf9zR-o86_vo6Htdzx77sQJssVmBJP3xRU78T9Gn7B_TsLleEXR8cQ/s1600/2015-11-17+13_14_46-Service+Bus+Console+12c.png" /></a></div>
<br />
Im XSD-Projekt wird dann ein neues Schema angelegt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJA0Cls_7cQMmcX_VQkFmcLcBO43rNcBuQnBrD4PQIUe2hZhk_IdN4Rp797locyJx58POVte3N1ypA43ashUsok_2MEiNvsKQJRJBPRxV1FAML95dzejfk69raj2vWZnH70zZPn_H02g/s1600/2015-11-17+13_42_03-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJA0Cls_7cQMmcX_VQkFmcLcBO43rNcBuQnBrD4PQIUe2hZhk_IdN4Rp797locyJx58POVte3N1ypA43ashUsok_2MEiNvsKQJRJBPRxV1FAML95dzejfk69raj2vWZnH70zZPn_H02g/s320/2015-11-17+13_42_03-Service+Bus+Console+12c.png" width="320" /></a></div>
<br />
Hier einen Namen vergeben und die gespeicherte Datei auswählen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQm_Fk5cuMI8r_H0r2reeumgTEkiHlMhzAwMYiA4kvpLN84HuXSwjVJdGnR55Dz2PMP8k03IRnM-lY-mDa2HKTFLpBxFQEik6BjwsPTmmkqQx-INbK9UDLk48sTKl_efWD6eHh4jC7Ng/s1600/2015-11-17+13_43_34-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="163" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQm_Fk5cuMI8r_H0r2reeumgTEkiHlMhzAwMYiA4kvpLN84HuXSwjVJdGnR55Dz2PMP8k03IRnM-lY-mDa2HKTFLpBxFQEik6BjwsPTmmkqQx-INbK9UDLk48sTKl_efWD6eHh4jC7Ng/s320/2015-11-17+13_43_34-Service+Bus+Console+12c.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
Auf die gleiche Art wird die WSDL im entsprechenden Ordner angelegt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi442o3GDyK5aSzCIKDEYm794bxweUsBkyTrYpaa5QaiZbqWaqgq1WEszHEWigMCShPZkgm6iqg1-j4SIscZAY5-_uO-_ey5mrHsHxPL-ZOEBsjStCdXrN-Q1mk1YAve6ogLU1dq8XGbQ/s1600/2015-11-17+13_45_46-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi442o3GDyK5aSzCIKDEYm794bxweUsBkyTrYpaa5QaiZbqWaqgq1WEszHEWigMCShPZkgm6iqg1-j4SIscZAY5-_uO-_ey5mrHsHxPL-ZOEBsjStCdXrN-Q1mk1YAve6ogLU1dq8XGbQ/s640/2015-11-17+13_45_46-Service+Bus+Console+12c.png" width="640" /></a></div>
<br />
Jetzt wird noch ein Fehler angezeigt, weil die WSDL ja noch das externe XSD referenziert. Um das zu korrigieren, auf den View/Edit Button klicken.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxYKodVL78RTo1BK72ds2Q4RZqC1Ox4iWirArFKwV7mLa6KCQsJFPSq03KvAksAS-zCfbVfFq6nnJkHkajw1WUC8hX2T2c1k9Y4suWtMTVQUA0POT4Bi4v1omGMddzJX6RnIn1zpWSeg/s1600/2015-11-17+13_50_18-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="416" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxYKodVL78RTo1BK72ds2Q4RZqC1Ox4iWirArFKwV7mLa6KCQsJFPSq03KvAksAS-zCfbVfFq6nnJkHkajw1WUC8hX2T2c1k9Y4suWtMTVQUA0POT4Bi4v1omGMddzJX6RnIn1zpWSeg/s640/2015-11-17+13_50_18-Service+Bus+Console+12c.png" width="640" /></a></div>
<br />
Die Zeile<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><xsd:import namespace="http://helloservice/" schemaLocation="http://192.168.56.101:7007/HelloServiceApp-HelloService-context-root/HelloWorldServicePort?xsd=1"/></span><br />
<br />
muss geändert werden auf<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><xsd:import namespace="http://helloservice/" schemaLocation="../XSD/HelloXSD.xsd"/></span><br />
<br />
damit statt dessen die im OSB hinterlegte XSD referenziert wird.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9djWI_vQt5jvsAdXS2MQOsXqReDGd1aX5_h_LYy2fl2QU8UB9aO6X_k028gLQ1fBgfAb526nYYIyOk7ggRndB4NFTjqCj2GTt36sD-GszdYxVW78R_2ZvvojEuRnxl9hrcTP2RR1Xbg/s1600/2015-11-17+13_52_55-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9djWI_vQt5jvsAdXS2MQOsXqReDGd1aX5_h_LYy2fl2QU8UB9aO6X_k028gLQ1fBgfAb526nYYIyOk7ggRndB4NFTjqCj2GTt36sD-GszdYxVW78R_2ZvvojEuRnxl9hrcTP2RR1Xbg/s400/2015-11-17+13_52_55-Service+Bus+Console+12c.png" width="400" /></a></div>
<br />
Jetzt kann damit ein neuer Business Service erstellt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP7ZXXwNCl-pmfEHdVYYQZH2dejGeU22Aj7UP50N3_AS4eDN8QGtz_faCwVaeVPjXElZuzFe4-P_8OXEGaKYjhIjkKYMuyLzJbdRZdmVZIVM-Qh_YZxVuUkqaYtL-OXyWrEq88vSq33A/s1600/2015-11-17+13_54_05-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP7ZXXwNCl-pmfEHdVYYQZH2dejGeU22Aj7UP50N3_AS4eDN8QGtz_faCwVaeVPjXElZuzFe4-P_8OXEGaKYjhIjkKYMuyLzJbdRZdmVZIVM-Qh_YZxVuUkqaYtL-OXyWrEq88vSq33A/s400/2015-11-17+13_54_05-Service+Bus+Console+12c.png" width="368" /></a></div>
<br />
<br />
Hier wird die eben angelegte WSDL ausgewählt. Weiter mit 'Next' und auf der nächsten Seite mit 'Create' abschließen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWoWHBn4LykqLX9e1R7HXXabk_QEya4slj56URuvyteGFepKDxzIek6Z9GO7dFq3sHlQ0B9my_IeEq-y-PdpLcGOGialPOFpjYjwukk5_3-GPdvmCKhkvGN07sWhEcEv3rvYLVnzcGAQ/s1600/2015-11-17+13_56_25-Launch+Test+Console.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWoWHBn4LykqLX9e1R7HXXabk_QEya4slj56URuvyteGFepKDxzIek6Z9GO7dFq3sHlQ0B9my_IeEq-y-PdpLcGOGialPOFpjYjwukk5_3-GPdvmCKhkvGN07sWhEcEv3rvYLVnzcGAQ/s640/2015-11-17+13_56_25-Launch+Test+Console.png" width="640" /></a></div>
<br />
Dann ein Mal mit 'Activate' die Session abschließen und Per 'Launch Test Console' den Business Service testen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd5DZ1hqN6IqESENBz0WsFdWSYOxiHWy8u-1hfhIilsjAlOcKIBj9ujsPFXz9me6pMiKzb_BRdzDLCaLZIDTSbg6L4kAkI5sf7yIb1kXg8TtkPwk-AdOk6jdirXtYQRxPvH0LC2b7GzQ/s1600/2015-11-17+13_57_50-Oracle+Service+Bus+Console+12c+_+Business+Service+Testing+-+HelloBS.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="363" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd5DZ1hqN6IqESENBz0WsFdWSYOxiHWy8u-1hfhIilsjAlOcKIBj9ujsPFXz9me6pMiKzb_BRdzDLCaLZIDTSbg6L4kAkI5sf7yIb1kXg8TtkPwk-AdOk6jdirXtYQRxPvH0LC2b7GzQ/s400/2015-11-17+13_57_50-Oracle+Service+Bus+Console+12c+_+Business+Service+Testing+-+HelloBS.png" width="400" /></a></div>
<br />
Wenn bis hier alles geklappt hat, sollte die richtige Antwort zurück kommen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirYrMze8Fow-myTW1c4Pn-kTkbl1TDdYUYuUg7zu-bbOHniSCCNYTRVmx8u0My3zwTKup009hA2wkJtvq_hjwxxtvjg9NSzVw5gZIya6MtS64DAtbQtACeH4qmvQLioWI5E4_VT1A8pw/s1600/2015-11-17+13_59_46-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirYrMze8Fow-myTW1c4Pn-kTkbl1TDdYUYuUg7zu-bbOHniSCCNYTRVmx8u0My3zwTKup009hA2wkJtvq_hjwxxtvjg9NSzVw5gZIya6MtS64DAtbQtACeH4qmvQLioWI5E4_VT1A8pw/s400/2015-11-17+13_59_46-Service+Bus+Console+12c.png" width="400" /></a></div>
<br />
Mit dem 'Create'-Button dann wieder eine neue Session anfordern und im 'Throttling'-Ordner eine Pipeline erstellen. WSDL Based Servivce auswählen, die eben angelegte WSDL auswählen und 'Expose as Proxy Service' auswählen, ggf. noch den Namen ändern.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaiUwSF1nkbQqD4onamGcUV2uo_wIxfKl8aim54TqGHT8J-PAAWeXUEfYdHf45xRCAhPyUDmIgApJi6BzPb8EEnwcduLD5TIjOQhF-He2dGE0VVEyOxWh-m0I0YddhVpU2at-50kro3Q/s1600/2015-11-17+14_03_24-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaiUwSF1nkbQqD4onamGcUV2uo_wIxfKl8aim54TqGHT8J-PAAWeXUEfYdHf45xRCAhPyUDmIgApJi6BzPb8EEnwcduLD5TIjOQhF-He2dGE0VVEyOxWh-m0I0YddhVpU2at-50kro3Q/s640/2015-11-17+14_03_24-Service+Bus+Console+12c.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Damit die Pipeline jetzt auch mit dem Business Service spricht, muss die Pipeline geöffnet und geändert werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9CCTn16bRvrVP7F3OZtEdzap2EU_hMTAE3or_ng98orvMnwXPBH-Ae5j3sI-NShcf2NYKyp08lHNUq5M_Y39r2xaCN6V5NsEsGFathPXRADd3ZPO6lDqcH9Gar8bTQtbN9mcKOwSVLQ/s1600/2015-11-17+14_04_47-Oracle+Service+Bus+Console+12c+_+Edit+Message+Flow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="259" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9CCTn16bRvrVP7F3OZtEdzap2EU_hMTAE3or_ng98orvMnwXPBH-Ae5j3sI-NShcf2NYKyp08lHNUq5M_Y39r2xaCN6V5NsEsGFathPXRADd3ZPO6lDqcH9Gar8bTQtbN9mcKOwSVLQ/s640/2015-11-17+14_04_47-Oracle+Service+Bus+Console+12c+_+Edit+Message+Flow.png" width="640" /></a></div>
Im Flow-Editor wird per Klick auf die Pipe eine Route hinzugefügt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZnW1e_yJK_s2Dp5-c-ULiJlvvxJy7hF2sL1xT1DBR6w4OZGupWfuF8JGRK_OHGgf6RNcXiuN4u41sVFauiITKqgGdMutmI8JZa-1gewFYwiuEROwST297af9hrMYMcp-LFfOe2k0Iow/s1600/2015-11-17+14_06_18-Oracle+Service+Bus+Console+12c+_+Edit+Message+Flow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZnW1e_yJK_s2Dp5-c-ULiJlvvxJy7hF2sL1xT1DBR6w4OZGupWfuF8JGRK_OHGgf6RNcXiuN4u41sVFauiITKqgGdMutmI8JZa-1gewFYwiuEROwST297af9hrMYMcp-LFfOe2k0Iow/s1600/2015-11-17+14_06_18-Oracle+Service+Bus+Console+12c+_+Edit+Message+Flow.png" /></a></div>
Dann per Klick auf die Route das Menü aufrufen und 'Edit Route' auswählen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj-mM9pxgPnaxFvU0O5v1mgtBJity3s90cod18h8_Z1iYvMAEnd9aFT1lVfbiDJCgXI_mWsDrO1Ncl77mbUMka24wjR5ICpnQLPLuEtAossCVfcxndYNcG7jGBNoXX8HRC-34Uf7IRIg/s1600/2015-11-17+14_07_41-Oracle+Service+Bus+Console+12c+_+Edit+Stage+Configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="110" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj-mM9pxgPnaxFvU0O5v1mgtBJity3s90cod18h8_Z1iYvMAEnd9aFT1lVfbiDJCgXI_mWsDrO1Ncl77mbUMka24wjR5ICpnQLPLuEtAossCVfcxndYNcG7jGBNoXX8HRC-34Uf7IRIg/s400/2015-11-17+14_07_41-Oracle+Service+Bus+Console+12c+_+Edit+Stage+Configuration.png" width="400" /></a></div>
Dann Klick auf 'Add an Action' und Communication|Routing auswählen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-VMlLECfpf9U-H3jtqPXRra_f3S6PvcJdqcxsGkkwjvoxPFAZMganJ33hzl-V6dA_DkmXi-Huw70y3mb7RlEA7puyHpOEgKpU71j94qh9BPKqvCt1G866ZF_GmDfC0paUHnmFu8-g6w/s1600/2015-11-17+14_08_53-Oracle+Service+Bus+Console+12c+_+Edit+Stage+Configuration.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-VMlLECfpf9U-H3jtqPXRra_f3S6PvcJdqcxsGkkwjvoxPFAZMganJ33hzl-V6dA_DkmXi-Huw70y3mb7RlEA7puyHpOEgKpU71j94qh9BPKqvCt1G866ZF_GmDfC0paUHnmFu8-g6w/s400/2015-11-17+14_08_53-Oracle+Service+Bus+Console+12c+_+Edit+Stage+Configuration.png" width="400" /></a></div>
Dort den Service und die Operation auswählen. Dann beide Dialoge mit 'Save' verlassen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixyQBiVuxEr4PoKasnUdJkBXQQFIqj50_R3SM1HyIgHLznnspi7Ivy9FWKh0SxKcllgB_vLM2GlZexmmTc7-op42dBUSQF-OvQHhI7b6plaEs8cfONKN-3q-Nj6OL9q-rrbXQbdQO_Mw/s1600/2015-11-17+14_11_53-Service+Bus+Console+12c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="338" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixyQBiVuxEr4PoKasnUdJkBXQQFIqj50_R3SM1HyIgHLznnspi7Ivy9FWKh0SxKcllgB_vLM2GlZexmmTc7-op42dBUSQF-OvQHhI7b6plaEs8cfONKN-3q-Nj6OL9q-rrbXQbdQO_Mw/s640/2015-11-17+14_11_53-Service+Bus+Console+12c.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Dann die Session aktivieren und noch einmal die Test Console aufrufen, dieses Mal für den Proxy Service.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoe729xl44QvamEx7NvWrN4tSRD8OQm0qWKKyY4Lk880XVzCLcGGyWYa_mDVolePy2Xi7yC4XvOkG4Otw8KbAWPa1Ym8q_qqZBeRz0xakTa5rLLzVCjzbTZXNEQenXkDVFi3Zsad51Iw/s1600/2015-11-17+14_14_53-Throttling+%2528Oracle+OSB+Project%2529+-+Oracle+Enterprise+Manager.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoe729xl44QvamEx7NvWrN4tSRD8OQm0qWKKyY4Lk880XVzCLcGGyWYa_mDVolePy2Xi7yC4XvOkG4Otw8KbAWPa1Ym8q_qqZBeRz0xakTa5rLLzVCjzbTZXNEQenXkDVFi3Zsad51Iw/s640/2015-11-17+14_14_53-Throttling+%2528Oracle+OSB+Project%2529+-+Oracle+Enterprise+Manager.png" width="640" /></a></div>
<br />
Wenn alles geklappt hat, geht es weiter im Fusion Middleware Control. Dort navigiert man unter SOA|service-bus in das Throttling Projekt. Auf der Seite 'Operations' geht es denn weiter per Klick auf den Business Service.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_qYqOV9g6Wm4Kwz7vcA6HJHV0OOwYf6mPcoomZssRNidMSTAB3yBr7fOy2XI5bbx4hUG7YZ1mu32FdO4B81AlrkdiINzewKrOyiyltnskEcb77MBC9X3nLnF3NgsxCZCTB1_EH2k0Fw/s1600/2015-11-17+14_18_15-Throttling+%2528Oracle+OSB+Project%2529+-+Oracle+Enterprise+Manager.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="494" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_qYqOV9g6Wm4Kwz7vcA6HJHV0OOwYf6mPcoomZssRNidMSTAB3yBr7fOy2XI5bbx4hUG7YZ1mu32FdO4B81AlrkdiINzewKrOyiyltnskEcb77MBC9X3nLnF3NgsxCZCTB1_EH2k0Fw/s640/2015-11-17+14_18_15-Throttling+%2528Oracle+OSB+Project%2529+-+Oracle+Enterprise+Manager.png" width="640" /></a></div>
<br />
Hier können unter Properties die Parameter für das Throttling eingestellt werden. Über den Test-Knopf oben kann der Service gleich mit Throtting getestet werden. Weitere Informationen zum Throttling gibt es in der <a href="https://docs.oracle.com/middleware/1213/osb/administer/GUID-24DF76EC-BB77-4AAA-8A6B-EF91518CFD1F.htm#OSBAG614">Dokumentation</a>. <br />
</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-17198712674031334382015-05-29T04:50:00.001-07:002015-05-29T04:55:49.804-07:00Oracle Enterprise Scheduler Service (ESS) Handson Tutorial<div dir="ltr" style="text-align: left;" trbidi="on">
Der Enterprise Scheduler Service (ESS) wurde ursprünglich aus Eigenbedarf entwickelt und stammt aus der Oracle Applications Entwicklung. Seit einiger Zeit ist der ESS aber auch Bestandteil der Oracle SOA Suite und steht somit Anwendern für eigene Aufgaben zur Verfügung.<br />
Wie der Name andeutet, dient der ESS dem zeitgesteuerten Ausführen von Jobs. Im Gegensatz zu einfachen cron-Jobs bietet der ESS aber viele zusätzliche Funktionalitäten, welche im Enterprise-Umfeld benötigt werden. Der ESS kann in einen Cluster deployed werden um Hochverfügbarkeit herzustellen, es können Abhängigkeiten zwischen Jobs definiert und aufgelöst werden, Resource-Management kann betrieben werden und die Verwaltung sowie das Monitoring können direkt aus der Enterprise Manager Console erfolgen. Komplexere Szenarien können programmatisch über die ESS API's (Java, Web Services) umgesetzt werden.<br />
Der ESS ist damit gut gewappnet auch für komplexeste Szenarien im Enterprise Umfeld. Dieses schlägt sich auch im Umfang der <a href="https://docs.oracle.com/middleware/1213/ess/docs.htm">ESS Dokumentation</a> wieder, die in Summe über 800 Seiten auf die Waage bringt. Wer die vielfältigen Möglichkeiten des ESS in Gänze nutzen möchte, kommt um die umfangreiche Lektüre wohl nicht herum. Oftmals wird in Projekten aber auch nur ein einfacherer Scheduler benötigt. In der umfangreichen Dokumentation einen Einstieg zu finden, ist nicht leicht. Dieses Handson-Tutorial soll über die ersten Schritte hinweghelfen.<br />
<br />
<h3 style="text-align: left;">
Überprüfen der Installation</h3>
Der ESS wird typischerweise mit der SOA installiert, ist aber nicht zwingend in der Domain-Konfiguration enthalten.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhXJ1TTYsEogBmfObQ3AXPAkjQSZhFSHEeb027eL5Zj8SB6LLpM3wvR1ElHgiaD5qU_nVSqJK-O9EN6KLPu48ojwuSOj5mZ2O5rxB3ZApZHQmFNP4dUmqJp-By62yyQJsSrK4YbyEzXQ/s1600/Snap1a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="478" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhXJ1TTYsEogBmfObQ3AXPAkjQSZhFSHEeb027eL5Zj8SB6LLpM3wvR1ElHgiaD5qU_nVSqJK-O9EN6KLPu48ojwuSOj5mZ2O5rxB3ZApZHQmFNP4dUmqJp-By62yyQJsSrK4YbyEzXQ/s640/Snap1a.png" width="640" /></a></div>
<br />
Über den Domain Configuration Wizard (<span style="font-family: Courier New, Courier, monospace;">$MW_HOME/soa12103/wlserver/common/bin/config.sh</span>) wird die vorhandene Domain aktualisiert. Wichtig ist, dass die beiden Punkte Oracle Enterprise Scheduler Service Basic und Oracle Enterprise Manager Plugin for ESS angehakt sind. Falls diese fehlen, müssen sie hier nachinstalliert werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJcx502BiBvaabIPEdTMRbQE5Ry3VWwAQbMv_yo25QInXtxGSsFybv9-VKP_Mr6b18Ohs4pUM3YMp_v52-xnBUEH7YBBB0UzahCJRd8irhbgH0yIHvzbpW_E59hL1tVThwBvl6ePpLcQ/s1600/Snap2b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJcx502BiBvaabIPEdTMRbQE5Ry3VWwAQbMv_yo25QInXtxGSsFybv9-VKP_Mr6b18Ohs4pUM3YMp_v52-xnBUEH7YBBB0UzahCJRd8irhbgH0yIHvzbpW_E59hL1tVThwBvl6ePpLcQ/s640/Snap2b.png" width="640" /></a></div>
<br />
Wichtig ist auch, dass auch das Datenbank-Schema bereits angelegt ist.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6EO5E7hlCCT_QRKbH-ivIWX2RIBONIbZxqLF0bUo7bckLxcfYcMjBY87DoWLfyrrfgknovEo32LsDNxt2o2_eD9umniLGrFqOdIpJ-UVPm7vhGEpkSh-iEgzEuDzqHds3ww5iIfXsqQ/s1600/Snap4b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="476" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6EO5E7hlCCT_QRKbH-ivIWX2RIBONIbZxqLF0bUo7bckLxcfYcMjBY87DoWLfyrrfgknovEo32LsDNxt2o2_eD9umniLGrFqOdIpJ-UVPm7vhGEpkSh-iEgzEuDzqHds3ww5iIfXsqQ/s640/Snap4b.png" width="640" /></a></div>
<br />
Und schliesslich muss die ESSAPP auf einen Managed Server deployed sein, typischerweise wie hier auf einen eigenen ess_server1 oder mit auf dem soa_sever1.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV70zB3mHbw2MGT-G6Pk3KgTJF2BCrq5edIqXpk6qyCCCpo-tlVPETm4txG2-AJOB__zJdRmgvv5k3g9B_NWM8AX1QnTrdMfKxvwjGUJ2R2h1nHMNi85nyznR5kUs4t91cykc3oGBB_Q/s1600/Snap1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV70zB3mHbw2MGT-G6Pk3KgTJF2BCrq5edIqXpk6qyCCCpo-tlVPETm4txG2-AJOB__zJdRmgvv5k3g9B_NWM8AX1QnTrdMfKxvwjGUJ2R2h1nHMNi85nyznR5kUs4t91cykc3oGBB_Q/s400/Snap1.png" width="400" /></a></div>
Wenn alles installiert ist, sollte sich die ESS Health Check Seite aufrufen lassen unter <span style="font-family: Courier New, Courier, monospace;">server:port/EssHealthCheck</span>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilIHjSMmqcMnyA3eIfmAEDMjUCTtXV_h1SQrr-iBsOSPfiQlAzDsnXHyve8c2wcZlYUTwzw1ANzAiZsY24UI1x6RNV9RSQOQvWZWMCRUEU8IBjkY06v98D7a_GjRy0UfRIvnabahRqpA/s1600/Snap5b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="418" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilIHjSMmqcMnyA3eIfmAEDMjUCTtXV_h1SQrr-iBsOSPfiQlAzDsnXHyve8c2wcZlYUTwzw1ANzAiZsY24UI1x6RNV9RSQOQvWZWMCRUEU8IBjkY06v98D7a_GjRy0UfRIvnabahRqpA/s640/Snap5b.png" width="640" /></a></div>
<br />
Die Verwaltung für den ESS ist in den Enterprise Manager integriert. Wichtig: solange der Managed Server mit dem ESS noch nicht gestartet wurde, wird auch die Auswahl <i>Scheduling Services</i> links nicht angezeigt, auch wenn alles bereits richtig installiert wurde. Erst nach dem ersten Start taucht die Option auf.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXhb-bYN4sMNXiBMi0vQOdODy5bY1Cu9KLadSmwBYJs_aHAzif6FqMp1oJgtqhpDAaO4NuAaRT9n1On_ki3IclsfFY75LFW_cvcSTZChcNtl3qk9pbg7xsPWgSB6cTizy5s0KsZ-yAtg/s1600/Snap6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXhb-bYN4sMNXiBMi0vQOdODy5bY1Cu9KLadSmwBYJs_aHAzif6FqMp1oJgtqhpDAaO4NuAaRT9n1On_ki3IclsfFY75LFW_cvcSTZChcNtl3qk9pbg7xsPWgSB6cTizy5s0KsZ-yAtg/s400/Snap6.png" width="400" /></a></div>
Zum Testen wird ein kleines Script benötigt, z.B. dieses test.sh im Homeverzeichnis des Oracle-Users:<br />
<span style="font-family: Courier New, Courier, monospace;">date >> /home/oracle/ess.txt</span><br />
Hiermit wird einfach die Ausführungszeit an die Datei ess.txt angehängt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8p08554fYFas7yldXFSaRjCnqZvMdeL3C85kvDeKBwjCT7V5oIEi9gDNgxazVDZLB5jSTHwz6cHlHBAhZYcJcg7_J8LaI5eNY3WSqOoyAJu7mbr3BhYltSQiEZu2NYqX7VAE8adV4jQ/s1600/Snap2c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8p08554fYFas7yldXFSaRjCnqZvMdeL3C85kvDeKBwjCT7V5oIEi9gDNgxazVDZLB5jSTHwz6cHlHBAhZYcJcg7_J8LaI5eNY3WSqOoyAJu7mbr3BhYltSQiEZu2NYqX7VAE8adV4jQ/s320/Snap2c.png" width="218" /></a></div>
Um das Script über den ESS laufen zu lassen, muss zunächst eine entsprechende Job-Definition erstellt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrR8BQ9tqSK1k0Ni-Nn_NeAuw-nvwxnKhDOJy4_sRarjshTxl6PoO5hUFssTuqsSls6CtN0jZbmnyUqdyc_mc6iXPd_cAreAxreVXrnTuGfTydty_QeufuXYbJowQVQOxFSAeFyjliSg/s1600/Snap3c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="372" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrR8BQ9tqSK1k0Ni-Nn_NeAuw-nvwxnKhDOJy4_sRarjshTxl6PoO5hUFssTuqsSls6CtN0jZbmnyUqdyc_mc6iXPd_cAreAxreVXrnTuGfTydty_QeufuXYbJowQVQOxFSAeFyjliSg/s640/Snap3c.png" width="640" /></a></div>
Auf der <i>Job Definitions</i> Seite wird über <i>Create </i>ein neuer Job erstellt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI_il7VFXVm9tzndqPvm9qA94fPihiGXpOQUg80DBWopd50xY_AMullOw5DCRxVYuP8efL3JXqEdlLYS5HxOiTTZd9SjVFLMtN__dxNxgsqd9AOFW_yyvXp2KB6guA_Q97uOv-zADruQ/s1600/Snap4c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="465" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI_il7VFXVm9tzndqPvm9qA94fPihiGXpOQUg80DBWopd50xY_AMullOw5DCRxVYuP8efL3JXqEdlLYS5HxOiTTZd9SjVFLMtN__dxNxgsqd9AOFW_yyvXp2KB6guA_Q97uOv-zADruQ/s640/Snap4c.png" width="640" /></a></div>
<br />
Hier wird das Script jetzt dem ESS bekannt gemacht. Wichtig ist, den Job Type auf <i>ProcessJobType </i>umzustellen. Danach kann der vollständige Pfad zum Script eingegeben werden. Abschliessen mit OK.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ77IyFcuQwnRUXRIF6LgoCOG2HXoqPDti-NMw1V3-8XgVZwIFT7DZiVVdbz3U5cN2z3dth4RPntT17z5PAt8hq1JjKARQltzkvMH-SCcEuyVVWwuO-ztBGyXGlpcVgWHSz0cZUlAB8A/s1600/Snap5c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ77IyFcuQwnRUXRIF6LgoCOG2HXoqPDti-NMw1V3-8XgVZwIFT7DZiVVdbz3U5cN2z3dth4RPntT17z5PAt8hq1JjKARQltzkvMH-SCcEuyVVWwuO-ztBGyXGlpcVgWHSz0cZUlAB8A/s320/Snap5c.png" width="241" /></a></div>
Die Job Definition ist jetzt zwar im System bekannt, wurde aber noch nicht zur Ausführung vorgesehen. Hierzu muss ein Job Request erstellt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9pVfbGGoEdJVwgYTUsoDQ0tn6fh8ELWJKBGXTER57umQ8kPz-ModeAheoiKtQO0YYXEZzYIxdaSB5EXFSyI8dPRFzm39LikVgT3mhG_IFAVGm7qErALPVsKdt-uo_jhu565Cev9LjHg/s1600/Snap6c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="452" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9pVfbGGoEdJVwgYTUsoDQ0tn6fh8ELWJKBGXTER57umQ8kPz-ModeAheoiKtQO0YYXEZzYIxdaSB5EXFSyI8dPRFzm39LikVgT3mhG_IFAVGm7qErALPVsKdt-uo_jhu565Cev9LjHg/s640/Snap6c.png" width="640" /></a></div>
<br />
Die bestehende Job Definition kann über die Suche (Lupe) ausgewählt werden. Gibt man keine weiteren Parameter an, wird die Ausführung sofort und genau ein Mal vorgesehen.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEdKhjprM4b7Ucbcb0dE1_YZSZsVfzJo1Ts6F-Ubz-HI-LlJn3oOZG36cufs_Kc3Zo5toS9oOzkXjwJ7f-OrRz4_tzooBEDGfp7Y1jUkvx-QvrZ2YGUQDFf0di8arNdSfYB426zXp21A/s1600/Snap1d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEdKhjprM4b7Ucbcb0dE1_YZSZsVfzJo1Ts6F-Ubz-HI-LlJn3oOZG36cufs_Kc3Zo5toS9oOzkXjwJ7f-OrRz4_tzooBEDGfp7Y1jUkvx-QvrZ2YGUQDFf0di8arNdSfYB426zXp21A/s400/Snap1d.png" width="400" /></a></div>
Auf der Hauptseite des ESS sollte kurz danach ein erfolgreicher Job Request angezeigt werden.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrC6wlqls4LaaaYMSjNa3i9H0qzl3rI3H8NE5KT5djPdolrhHiX3F4rZXL9rGOSGFtkdHjsdZPFRo6lZj2flmTDCRaxEpWmWz4c4k4uXVIWerDHXKUrhW2AwGfWuN3lYZURrjXwL5y_g/s1600/Snap2d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="163" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrC6wlqls4LaaaYMSjNa3i9H0qzl3rI3H8NE5KT5djPdolrhHiX3F4rZXL9rGOSGFtkdHjsdZPFRo6lZj2flmTDCRaxEpWmWz4c4k4uXVIWerDHXKUrhW2AwGfWuN3lYZURrjXwL5y_g/s400/Snap2d.png" width="400" /></a></div>
Die Ausführung kann auch durch Blick in die Ausgabedatei ess.txt bestätigt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMOagpBUtsBCBTOomFVuFveEHbFLO5APN7nqlBRp7yTbiF2SKg_xm4u9M17qmM1JPunl3wU7va-LyeOOS4Cd2sXwFVNN7BWLm96nmPk-wVjLjstYvldyyv6d5Jifc9bKtDG2-MJQJN2g/s1600/Snap3d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMOagpBUtsBCBTOomFVuFveEHbFLO5APN7nqlBRp7yTbiF2SKg_xm4u9M17qmM1JPunl3wU7va-LyeOOS4Cd2sXwFVNN7BWLm96nmPk-wVjLjstYvldyyv6d5Jifc9bKtDG2-MJQJN2g/s320/Snap3d.png" width="241" /></a></div>
Nun kann der ESS die Jobs natürlich nicht nur sofort, sondern auch zu festgelegten Zeiten ausführen. Hierfür muss ein Schedule definiert werden.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFZnYyRu0xyt9A-ZHT4DqY8H-roM726OIsWTphaGXbxeEEPcmkkIAD7R7aLBUL4WFk3GKoIb9SvkddNtcyM1WXbGa5EorJ-ZNewn9sLkbQPQmA-oANgbR0WcK2edQ4cRHeVJfTmt96mw/s1600/Snap4d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFZnYyRu0xyt9A-ZHT4DqY8H-roM726OIsWTphaGXbxeEEPcmkkIAD7R7aLBUL4WFk3GKoIb9SvkddNtcyM1WXbGa5EorJ-ZNewn9sLkbQPQmA-oANgbR0WcK2edQ4cRHeVJfTmt96mw/s400/Snap4d.png" width="400" /></a></div>
Über den <i>Create </i>Button kann ein neuer Schedule angelegt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl794NwnBzmRSVoAOdFvxFwk5wftukyP4_fAp5K1Jb2BVunCFERPITX6xf-6mw0STMIpfA1rfztjv_EZZFH36x7Zwz0LTu9RZABCL403WF7_c4wguRLII0csqxKEvbspGIH3vE-PV5IA/s1600/Snap5d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl794NwnBzmRSVoAOdFvxFwk5wftukyP4_fAp5K1Jb2BVunCFERPITX6xf-6mw0STMIpfA1rfztjv_EZZFH36x7Zwz0LTu9RZABCL403WF7_c4wguRLII0csqxKEvbspGIH3vE-PV5IA/s400/Snap5d.png" width="400" /></a></div>
Hier können auch Intervalle eingegeben werden, z.B. alle zwei Minuten.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWXM1Bxv8fvaXiOx6b1XU0kG9C8im57HKYWVrdnrIKSaaVDGf3OxxEqb1V-pLQPHXodRX_x7D8v5Er7Xt2AefHWoL37yKEkJ7uji5FUVs51YV7OQVFx06Dbg8QM930Wh5RMhtgTr8s8w/s1600/Snap6d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWXM1Bxv8fvaXiOx6b1XU0kG9C8im57HKYWVrdnrIKSaaVDGf3OxxEqb1V-pLQPHXodRX_x7D8v5Er7Xt2AefHWoL37yKEkJ7uji5FUVs51YV7OQVFx06Dbg8QM930Wh5RMhtgTr8s8w/s400/Snap6d.png" width="400" /></a></div>
Nachdem der Schedule angelegt ist, kann damit ein neuer Job Request erstellt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Wip2DUoU5TCGF40_Fqw8eJ4g-6P7DBhyphenhyphenVbWb3LcdESgoVUntfvilMjjTDNhIvc7lu9Z1RNWZRaSPi97YvXVcwV9N0CzI2OmLOOkJWEMmea3E0AJBfZCKkK6SWsNrt4t4hVdsbSXDWA/s1600/Snap7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Wip2DUoU5TCGF40_Fqw8eJ4g-6P7DBhyphenhyphenVbWb3LcdESgoVUntfvilMjjTDNhIvc7lu9Z1RNWZRaSPi97YvXVcwV9N0CzI2OmLOOkJWEMmea3E0AJBfZCKkK6SWsNrt4t4hVdsbSXDWA/s640/Snap7.png" width="640" /></a></div>
Hier werden jetzt links der bestehende Job Request und rechts der gerade erstellte Schedule eingetragen und das ganze per OK abgeschlossen.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigCFxlHLrbU2F-6LV2HjOw9zLMLfUcDgtuu0Q9bp2fbWGCwpifGqpOsiDNwrpvqJhPHtUsX8n1IvhNkAVo0HSR_kJFGNgwljMTnzrBzoFia78YawH-G3snibE2uB7kXrCwxOJUBxjrcg/s1600/Snap9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="102" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigCFxlHLrbU2F-6LV2HjOw9zLMLfUcDgtuu0Q9bp2fbWGCwpifGqpOsiDNwrpvqJhPHtUsX8n1IvhNkAVo0HSR_kJFGNgwljMTnzrBzoFia78YawH-G3snibE2uB7kXrCwxOJUBxjrcg/s400/Snap9.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuHZrIXQTyd6a6qqGIquflUQYJSKft77w9J_pQY_02hzcc7B1akgbGD_BaKnxlHuCm7CCSLToV-XDKQg9iqPzTL4F5V4joX81o_bbXbu0TZnJYBOeZkGIgoScgqLGl1MjYaxd0NHWvfw/s1600/Snap8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="131" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuHZrIXQTyd6a6qqGIquflUQYJSKft77w9J_pQY_02hzcc7B1akgbGD_BaKnxlHuCm7CCSLToV-XDKQg9iqPzTL4F5V4joX81o_bbXbu0TZnJYBOeZkGIgoScgqLGl1MjYaxd0NHWvfw/s320/Snap8.png" width="320" /></a></div>
Nach zwei Minuten sollten dann auch die Rückmeldungen in der Ausgabedatei eintreffen und mit etwas Zeitverzug auch auf der ESS-Hauptseite des Enterprise Manager auftauchen.<br />
Trotz der komplexen Möglichkeiten und der Dokumentation im hohen dreistelligen Bereich lassen sich also trotzdem einfache Scheduling-Aufgaben schnell mit dem ESS umsetzen.</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-55962226510832547172015-02-24T06:22:00.001-08:002015-02-24T06:47:26.027-08:00Oracle Managed Files Handson Tutorial<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi__VlnUATLiEc-j5g_xivdS8CfhTItDwvWiPal4A-uZGzKwClQs8Zc3pfaSKEsdrdCQOG456O9A__AIBfHohG0hFm5SUaN4X2zKUtJq8pcoBem9jDajgpl9EXlUE1mEb8LkI4gI4ZJYw/s1600/hamburgaltenwerder.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi__VlnUATLiEc-j5g_xivdS8CfhTItDwvWiPal4A-uZGzKwClQs8Zc3pfaSKEsdrdCQOG456O9A__AIBfHohG0hFm5SUaN4X2zKUtJq8pcoBem9jDajgpl9EXlUE1mEb8LkI4gI4ZJYw/s1600/hamburgaltenwerder.jpg" height="182" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Dieses Tutorial soll durch die ersten Schritte mit dem neuen Oracle Managed File Transfer (MFT) helfen. Als Voraussetzung wird eine installierte SOA-Suite mit MFT benötigt, der grundsätzliche Umgang mit der SOA-Suite sollte bekannt sein. Betriebssystemseitig wurde Oracle Linux benutzt, das Ganze funktioniert aber analog auch unter Windows.<br />
<div>
<ul>
<li>Teil 1: <a href="http://fmw-deutsch.blogspot.de/2015/01/1.html" target="_blank">Grundlagen</a></li>
<li>Teil 2: <a href="http://fmw-deutsch.blogspot.de/2015/01/oracle-managed-files-handson-tutorial.html" target="_blank">ftp-Transfer</a></li>
<li>Teil 3: <a href="http://fmw-deutsch.blogspot.de/2015/02/moracle-managed-file-transfer-mft.html" target="_blank">Java Custom Callouts</a></li>
<li>Teil 4: <a href="http://fmw-deutsch.blogspot.de/2015/02/oracle-managed-file-transfer-mft.html" target="_blank">MFT Integration mit SOA-Suite</a></li>
</ul>
<div>
<br /></div>
</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-53942849534752034962015-02-20T06:11:00.000-08:002015-09-22T04:33:02.066-07:00Oracle Managed File Transfer (MFT) Handson - Teil 4: Integration mit der SOA Suite<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: center;">
[<a href="http://fmw-deutsch.blogspot.de/2015/01/1.html">Teil 1</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/01/oracle-managed-files-handson-tutorial.html">Teil 2</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/02/moracle-managed-file-transfer-mft.html">Teil 3</a>] [Teil 4] </div>
<br />
Nutzt man sowohl MFT, als auch die SOA-Suite, dann macht es Sinn diese miteinander zu integrieren. So kann die SOA-Suite Daten auch direkt an MFT übergeben und dieses kümmert sich dann um die Weiterverteilung im Dateisystem. Umgekehrt kann die SOA-Suite auch Ziel einer MFT-Transaktion sein und die Inhalte direkt entgegennehmen.<br />
Für dieses Beispiel wird eine Domain mit MFT und SOA Suite benötigt. Der grundsätzliche Umgang mit beiden Produkten sollte bekannt sein.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJH79GMeu0-9ss6OPBz5XlgQCKMQxPUwIisv8HLU5AAxSBOvabIOEXqhzYIhuYbNAhUgNQWG-sa444bWXn2SjyCjcxfQLwhqGUVrpiFY6sYIL709upsBYXTLqPRQ1zfyA07EwOTTkWRA/s1600/Snap6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="332" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJH79GMeu0-9ss6OPBz5XlgQCKMQxPUwIisv8HLU5AAxSBOvabIOEXqhzYIhuYbNAhUgNQWG-sa444bWXn2SjyCjcxfQLwhqGUVrpiFY6sYIL709upsBYXTLqPRQ1zfyA07EwOTTkWRA/s1600/Snap6.png" width="640" /></a></div>
<br />
Los geht es auf der Design-Seite der MFT-Console. Hier wird eine neue Source vom Typ <i>SOA </i>angelegt, z.B. mit dem Namen <i>service-source</i> (Wichtig: der Name soa wie abgebildet führt später zu Problemen und sollte nicht verwendet werden).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi78DXO2vPafF5Csj7IbTIpGZ4r1QvX4ZEMOIncjsdxx1m1st_XcHzV1a6rYvUobP9z5XGACJOJVqZHX6L3dRV7kce3RisJ-7u6CxA5E2FKfUgB61YcR9MjpbLDoNTUXqe4O6PceJNsQQ/s1600/Snap13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi78DXO2vPafF5Csj7IbTIpGZ4r1QvX4ZEMOIncjsdxx1m1st_XcHzV1a6rYvUobP9z5XGACJOJVqZHX6L3dRV7kce3RisJ-7u6CxA5E2FKfUgB61YcR9MjpbLDoNTUXqe4O6PceJNsQQ/s1600/Snap13.png" width="640" /></a></div>
<br />
Als nächstes wird ein Transfer angelegt und die eben erstellte service-source als Quelle eingetragen. Als Target wird ein beliebiges File Target genommen, z.B. das file-target aus Kapitel 3.<br />
Zum Abschluss werden mit Klick auf <i>Save </i>und <i>Deploy </i>die beiden neuen Artefakte deployed.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjosJvpDJJ1pagwF72ZHh53QOP4R6uPhCafkHoS1GzCUYW0GdzhgIRyMEfVVxtHglnnmYpd347DBY0tI3eO1Oq_RVPYKZ41OxC3ShgzmNcDD0vf7-ukVOJp3KKtHBFonYeiD7l2GX2DIQ/s1600/Snap1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjosJvpDJJ1pagwF72ZHh53QOP4R6uPhCafkHoS1GzCUYW0GdzhgIRyMEfVVxtHglnnmYpd347DBY0tI3eO1Oq_RVPYKZ41OxC3ShgzmNcDD0vf7-ukVOJp3KKtHBFonYeiD7l2GX2DIQ/s1600/Snap1.png" width="400" /></a></div>
<br />
Weiter geht es im JDeveloper mit einem neuen SOA-Projekt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0jaPZ5Fhd7BZcto-5kt1bL541MaW74izt8pqMEgaHEr6xqXq9M2RhM7SYzMIXgK9kZL0HSd2hnplhleg7GQi-f_MhRSjOfHkvL8X234PwZJ4E2UDZqDTz53Ll60jAo_uwjW88kFEKWw/s1600/Snap2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0jaPZ5Fhd7BZcto-5kt1bL541MaW74izt8pqMEgaHEr6xqXq9M2RhM7SYzMIXgK9kZL0HSd2hnplhleg7GQi-f_MhRSjOfHkvL8X234PwZJ4E2UDZqDTz53Ll60jAo_uwjW88kFEKWw/s1600/Snap2.png" width="640" /></a></div>
<br />
In das Composite wird rechts bei den References ein MFT-Adapter gezogen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuoga4p3IYND8HxEDcSXDAZiq3TAYmnU61-MKiiR2_TizXhbq1mqCddfA-Daep6pnAB35FDFlAvZhE5eKVHJJAk-lcwY0SbB3voUnb_qcCkqoE3ndap1tPfH0xIry2BNtBcJ7ONxAlXQ/s1600/Snap3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="332" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuoga4p3IYND8HxEDcSXDAZiq3TAYmnU61-MKiiR2_TizXhbq1mqCddfA-Daep6pnAB35FDFlAvZhE5eKVHJJAk-lcwY0SbB3voUnb_qcCkqoE3ndap1tPfH0xIry2BNtBcJ7ONxAlXQ/s1600/Snap3.png" width="400" /></a></div>
<br />
Der Default kann übernommen werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIzwVkt-FGeQpwIrpERRgE7Jx4yLblUpjWpOuLTSrgunLwcEyF-UK7m_M81QV7WDAOjiiBGDId4gNmrw6AA3vXmGvxunSC9S3Okg6fvAId2DX1RS-95yr5yPIc4BIyUuJP1_BRUYdXyQ/s1600/Snap4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIzwVkt-FGeQpwIrpERRgE7Jx4yLblUpjWpOuLTSrgunLwcEyF-UK7m_M81QV7WDAOjiiBGDId4gNmrw6AA3vXmGvxunSC9S3Okg6fvAId2DX1RS-95yr5yPIc4BIyUuJP1_BRUYdXyQ/s1600/Snap4.png" width="400" /></a></div>
<br />
Hier auch einfach den Default belassen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb_kuwv4j66Gjv0hH_76df_pVHDG8rmwqk4L8rvmFWo5ci4VV6OQ7_iNmqe0HoWGH6jZgLpmd26LtLMjsfOOOt1ypSCG21gG-8YiPh7hm-HZB4D2yhA8K73Zd07khRnbUJHNRH6lDCHA/s1600/Snap5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb_kuwv4j66Gjv0hH_76df_pVHDG8rmwqk4L8rvmFWo5ci4VV6OQ7_iNmqe0HoWGH6jZgLpmd26LtLMjsfOOOt1ypSCG21gG-8YiPh7hm-HZB4D2yhA8K73Zd07khRnbUJHNRH6lDCHA/s1600/Snap5.png" width="400" /></a></div>
<br />
Hier wird die bestehende Application-Server Connection angegeben, oder ggf. neu angelegt. Der MFT Server wird dann automatisch gefunden. Per Klick auf <i>Test MFT</i> lässt sich die Verbindung überprüfen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6duGnZGhiCxtIOVsrjlbLM9KrLCXj_F7Es0TnHyb22MEw3RiFEy17tSkGPVmzlDGkOq6HxZqttc395cXNVHRc9HXHn37vWbG4qlDAhyphenhyphenwq8bZJVi8J0eaCuE1NnQWRNR4yxdTkyPimew/s1600/Snap9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6duGnZGhiCxtIOVsrjlbLM9KrLCXj_F7Es0TnHyb22MEw3RiFEy17tSkGPVmzlDGkOq6HxZqttc395cXNVHRc9HXHn37vWbG4qlDAhyphenhyphenwq8bZJVi8J0eaCuE1NnQWRNR4yxdTkyPimew/s1600/Snap9.png" width="400" /></a></div>
<br />
Die service-source wird automatisch gefunden, beenden mit <i>Finish</i>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9lzBM8cXTSGjbhnUNeuDs4h5bgdyDAWkmQzn9dhyphenhyphendSDRFNc-JlFJnJV5oyeQITqv0kFW4ucqPc6jzOJlN4XgNq7ABDzGKV0gYqldkyD6_35fHVDqlXWVK1BhyiAO1Djgzq3L_LT3XHw/s1600/Snap11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9lzBM8cXTSGjbhnUNeuDs4h5bgdyDAWkmQzn9dhyphenhyphendSDRFNc-JlFJnJV5oyeQITqv0kFW4ucqPc6jzOJlN4XgNq7ABDzGKV0gYqldkyD6_35fHVDqlXWVK1BhyiAO1Djgzq3L_LT3XHw/s1600/Snap11.png" width="400" /></a></div>
<br />
Um den MFT Adapter anzusprechen, wird ein BPEL-Prozess in das Composite gezogen. Dieser wird auf <i>Synchronous BPEL Process</i> umgestellt, der Rest kann so bleiben.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUX5ygxmwMY7rarkXIGUozYwNGQHPPeCHyQ6B0jWcDXHv2KBQLzRaHvPxX-osGzHSYtZAYJ-bMK-3CYd6zxonomcKsHG8GPZQZsDutCgKtBWFP2AKDh0el7X0XIZxdYbyA_NM4Jrylg/s1600/Snap12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUX5ygxmwMY7rarkXIGUozYwNGQHPPeCHyQ6B0jWcDXHv2KBQLzRaHvPxX-osGzHSYtZAYJ-bMK-3CYd6zxonomcKsHG8GPZQZsDutCgKtBWFP2AKDh0el7X0XIZxdYbyA_NM4Jrylg/s1600/Snap12.png" width="640" /></a></div>
<br />
Der BPEL-Prozess wird mit dem MFT-Adapter verbunden und hinterher per Doppelklick geöffnet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdLHfnq4xgmB5viExoKSylHcCxVikpIHB_P_RKKnDW7AubZ41h8g3qESkEUV9TRpDOCAEEo2lX98hL0-EDouSFMpV2ixlMeTerOAcmzdZStkwpimJT6m6Kqagy91dEWfqa-Cl4ekyDMA/s1600/Snap14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdLHfnq4xgmB5viExoKSylHcCxVikpIHB_P_RKKnDW7AubZ41h8g3qESkEUV9TRpDOCAEEo2lX98hL0-EDouSFMpV2ixlMeTerOAcmzdZStkwpimJT6m6Kqagy91dEWfqa-Cl4ekyDMA/s1600/Snap14.png" width="640" /></a></div>
<br />
Im Prozess wird mittig eine Invoke-Aktivität platziert und diese mit dem MFT Partner Link verbunden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq1TLJ3PtvGr3hWRW_Bl2nVAVHRczbX6BTEwNWJBwCuI2ICG0C93UjCX3y3m-hNKq6ggFZDdPBnmWhZzITDKAwnXzQVJYLZ-6scX6mA5q5OTSAIuK_iIEjT-EHz3qlTHNT_Yjypojh_g/s1600/Snap15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq1TLJ3PtvGr3hWRW_Bl2nVAVHRczbX6BTEwNWJBwCuI2ICG0C93UjCX3y3m-hNKq6ggFZDdPBnmWhZzITDKAwnXzQVJYLZ-6scX6mA5q5OTSAIuK_iIEjT-EHz3qlTHNT_Yjypojh_g/s1600/Snap15.png" width="360" /></a></div>
<br />
Die Input- und Output-Variable wird jeweils über das grüne Plus (+) angelegt. Dann mit OK schließen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4yurbl0HxcnvgCCxDnvfPH7_cnjKM8HwBLS7PI3GhUFRTgYt-nfXq1XVjBV1uwDmiPIK87MhshB0pviXgZtmK7ualdAmB0DgnuSliHwTF0Kwwx7-FH1F9jL2TvHK0fOixReZ26jILxw/s1600/Snap16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4yurbl0HxcnvgCCxDnvfPH7_cnjKM8HwBLS7PI3GhUFRTgYt-nfXq1XVjBV1uwDmiPIK87MhshB0pviXgZtmK7ualdAmB0DgnuSliHwTF0Kwwx7-FH1F9jL2TvHK0fOixReZ26jILxw/s1600/Snap16.png" width="640" /></a></div>
<br />
Es wird noch eine Assign-Aktivität benötigt, die vor das Invoke gezogen wird. Diese wird per Doppelklick geöffnet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiinpbhjVVkDQTRyg5qt3SuaZvv8AqEIouTpFWe0sexiW6rIBWbBe2Ti1mMFsQy9FEIAaYHvw8hMIOS3Qk-022KnQV4qd-tw_WBtKWyYYQIq0YYs-8PWtuoiE_DR18oHR1DMhNpw9UwcA/s1600/Snap17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiinpbhjVVkDQTRyg5qt3SuaZvv8AqEIouTpFWe0sexiW6rIBWbBe2Ti1mMFsQy9FEIAaYHvw8hMIOS3Qk-022KnQV4qd-tw_WBtKWyYYQIq0YYs-8PWtuoiE_DR18oHR1DMhNpw9UwcA/s1600/Snap17.png" width="640" /></a></div>
<br />
ns1:InlinePayload bekommt per Rechtsklick eine Expression zugewiesen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbzQE_n891kTDVvseoU5AJiNmW7quird4pLCNmT8IiFSRwaKyAFhsDUnqRiGfjR5WWn9KilzbtWUawCXc40wYrxdQ4vG8psQZtWJv_ZZx-OdUcClriCCAHAc9KIprfhqghDl4km2vX5w/s1600/Snap18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="490" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbzQE_n891kTDVvseoU5AJiNmW7quird4pLCNmT8IiFSRwaKyAFhsDUnqRiGfjR5WWn9KilzbtWUawCXc40wYrxdQ4vG8psQZtWJv_ZZx-OdUcClriCCAHAc9KIprfhqghDl4km2vX5w/s1600/Snap18.png" width="640" /></a></div>
<br />
Passend zum jeweiligen Bundesland kann hier eine angemessene Begrüßung zusammengeklickt werden, in meinem Fall:<br />
concat("Moin, Moin ", $inputVariable.payload/client:input)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI2pD8Z6L3m8QPzOkeq46Zm5WjFRUaRBNfVmOegLAeety5dFbyuhprFzz5N1F-XhVnPn5ZasbslOWlHxbwJW-Y_UWdWQBk0k9Owp4abLC6EmavdsbBx1Y8O3QmkMCEmCBxvcTtjEYorA/s1600/Snap19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI2pD8Z6L3m8QPzOkeq46Zm5WjFRUaRBNfVmOegLAeety5dFbyuhprFzz5N1F-XhVnPn5ZasbslOWlHxbwJW-Y_UWdWQBk0k9Owp4abLC6EmavdsbBx1Y8O3QmkMCEmCBxvcTtjEYorA/s1600/Snap19.png" width="640" /></a></div>
<br />
Das gleiche wird wiederholt für ns1:TargetFilename. Da sich hier um den Namen der Zieldatei handelt, sollten Sonderzeichen vermieden werden. Z.B.<br />
concat("Hello-",$inputVariable.payload/client:input)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAToF_RduT_yfLBCyTPRANCB0yW9H7Spq9o6Rde1YdOKI3bcTfs9Kf-B3dWSMELUuIPvAHg3xW2NanyoRoL3q8HrcSP6AZPITINKUqLobSXfS3MLseHQwNbAE4rmhBgn4PR_HU9aYogg/s1600/Snap20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="518" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAToF_RduT_yfLBCyTPRANCB0yW9H7Spq9o6Rde1YdOKI3bcTfs9Kf-B3dWSMELUuIPvAHg3xW2NanyoRoL3q8HrcSP6AZPITINKUqLobSXfS3MLseHQwNbAE4rmhBgn4PR_HU9aYogg/s1600/Snap20.png" width="640" /></a></div>
<br />
Das Composite ist damit fertig und wird deployed (Rechtsklick auf Projektname|Deploy). Danach wird der Enterprise Manager geöffnet und das Projekt ausgewählt. Auf der Testseite wird ein Teststring eingegeben und der Test gestartet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0wwFMRV1hokd8lJkCMfPnko60IFOLq3f-LLejGvP4_grco7DE1ARgphbSZw_XvMCkRmuDDWxn6eBknaQrAXjsdRph1LC4EvAZJWbPEwznJ7JFpq_W7R4oC_eoy4lHjXxoEtRSCfV3OQ/s1600/Snap21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0wwFMRV1hokd8lJkCMfPnko60IFOLq3f-LLejGvP4_grco7DE1ARgphbSZw_XvMCkRmuDDWxn6eBknaQrAXjsdRph1LC4EvAZJWbPEwznJ7JFpq_W7R4oC_eoy4lHjXxoEtRSCfV3OQ/s1600/Snap21.png" width="640" /></a></div>
<br />
Wenn alles geklappt hat, kann hier der Flow Trace aufgerufen werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq1Qv_6CX1dPPkuj0EKvH6rj1WXX50WCL0Lhndrjd3nvfqbu0XbnZBEPzyCppfxjuyyKXImm973DyoQWwKO8alibpB-_oU5ld3AfUcohMHMS0X3tZ-9XJyfEIhi6S6F6P_q7NK-tc66A/s1600/Snap22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq1Qv_6CX1dPPkuj0EKvH6rj1WXX50WCL0Lhndrjd3nvfqbu0XbnZBEPzyCppfxjuyyKXImm973DyoQWwKO8alibpB-_oU5ld3AfUcohMHMS0X3tZ-9XJyfEIhi6S6F6P_q7NK-tc66A/s1600/Snap22.png" width="640" /></a></div>
<br />
Im Flow Trace wird MFT mit angezeigt, weiter geht es mit einem Klick darauf.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNwIhz36u05rfzKgRS56ltWS79oovo075PlqPaFO1nr_LqXaxeDjnfCimoBw-t2tBtlfeUtCvyHB9ftHAoQY6XPbEhrNkkTPnxGvwxmczC59YkdF1eusMOEyv7S1xfZgmJ2ICjb3LNBw/s1600/Snap23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNwIhz36u05rfzKgRS56ltWS79oovo075PlqPaFO1nr_LqXaxeDjnfCimoBw-t2tBtlfeUtCvyHB9ftHAoQY6XPbEhrNkkTPnxGvwxmczC59YkdF1eusMOEyv7S1xfZgmJ2ICjb3LNBw/s1600/Snap23.png" width="400" /></a></div>
<br />
Von hier wird man in die MFT Console weitergeleitet und bekommt hier direkt den Transfer angezeigt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDEWXy_FOHXcwB-hIDJ9aq0HjRbfEcpeSpAmO3jbnkvocQ7ndSLUffkcFa93StIvh9FiR9Krjf3M5ZB049zfi-gtGRVhP9xe8rX5W5JuYJgmcRUuS5xQno1nFteqjKW9T0C4oWHS-ldQ/s1600/Snap25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDEWXy_FOHXcwB-hIDJ9aq0HjRbfEcpeSpAmO3jbnkvocQ7ndSLUffkcFa93StIvh9FiR9Krjf3M5ZB049zfi-gtGRVhP9xe8rX5W5JuYJgmcRUuS5xQno1nFteqjKW9T0C4oWHS-ldQ/s1600/Snap25.png" width="640" /></a></div>
<br />
Auch im Filesystem ist das Resultat zu finden.<br />
<br />
Damit ist das MFT-Tutorial abgeschlossen.<br />
<br />
<div style="text-align: center;">
[<a href="http://fmw-deutsch.blogspot.de/2015/01/1.html">Teil 1</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/01/oracle-managed-files-handson-tutorial.html">Teil 2</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/02/moracle-managed-file-transfer-mft.html">Teil 3</a>] [Teil 4] </div>
</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-37800431494935175722015-02-10T05:57:00.001-08:002015-02-24T06:40:03.983-08:00Oracle Managed File Transfer (MFT) handson - Teil 3: Custom Callouts in Java<div style="text-align: center;">
[<a href="http://fmw-deutsch.blogspot.de/2015/01/1.html">Teil 1</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/01/oracle-managed-files-handson-tutorial.html">Teil 2</a>] [Teil 3] [<a href="http://fmw-deutsch.blogspot.de/2015/02/oracle-managed-file-transfer-mft.html">Teil 4</a>]</div>
<br />
Über Custom Callouts in Java lässt sich die eingebaute Funktionaltität von MFT durch eigenen Code erweitern. Dabei lässt sich feingranular steuern, wann im Prozess dieser Code ausgeführt werden soll. Grundsätzlich werden drei Dinge benötigt: der eigentliche Java Code, eine XML-Datei welche MFT beschreibt, was sie mit diesem Code anfangen soll und ein WLST-Call mit dem das Callout bei MFT bekannt gemacht wird. Die komplette Dokumentation findet sich auf <a href="http://docs.oracle.com/middleware/1213/mft/MFTUG/mftug_exts.htm#MFTUG670" target="_blank">OTN</a>, dieses Tutorial soll an einem simplen Beispiel das Erstellen und Einbinden von Custom Callouts demonstrieren.<br />
In diesem
Beispiel wird ein Custom Callout entwickelt, welches den Dateinamen durch die
aktuelle Systemzeit ersetzt. Als Voraussetzung sollte man wissen, wie man eine Java-Klasse erstellt und übersetzt sowie den <a href="http://fmw-deutsch.blogspot.com/2015/01/1.html" target="_blank">Teil 1 dieses Tutorials</a> abgeschlossen haben.<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<table><tbody>
<tr><td><pre style="line-height: 125%; margin: 0;"> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38</pre>
</td><td><pre style="line-height: 125%; margin: 0;"><span style="color: #008800; font-weight: bold;">package</span> com<span style="color: #333333;">.</span><span style="color: #0000cc;">oracle</span><span style="color: #333333;">.</span><span style="color: #0000cc;">callout</span><span style="color: #333333;">.</span><span style="color: #0000cc;">sample</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">java.io.IOException</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">java.io.InputStream</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">java.io.OutputStream</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">java.util.Map</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">java.util.Date</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">oracle.tip.mft.engine.processsor.plugin.PluginContext</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">oracle.tip.mft.engine.processsor.plugin.PluginOutput</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">oracle.tip.mft.engine.processsor.plugin.PreCalloutPlugin</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #008800; font-weight: bold;">class</span> <span style="color: #bb0066; font-weight: bold;">FilenameCallout</span> <span style="color: #008800; font-weight: bold;">implements</span> PreCalloutPlugin <span style="color: #333333;">{</span>
<span style="color: #555555; font-weight: bold;">@Override</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #333399; font-weight: bold;">boolean</span> <span style="color: #0066bb; font-weight: bold;">isPayloadChangeRequired</span><span style="color: #333333;">(</span>PluginContext context<span style="color: #333333;">,</span>
Map<span style="color: #333333;"><</span>String<span style="color: #333333;">,</span> String<span style="color: #333333;">></span> calloutParams<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">return</span> <span style="color: #008800; font-weight: bold;">false</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #555555; font-weight: bold;">@Override</span>
<span style="color: #008800; font-weight: bold;">public</span> PluginOutput <span style="color: #0066bb; font-weight: bold;">process</span><span style="color: #333333;">(</span>PluginContext context<span style="color: #333333;">,</span> InputStream input<span style="color: #333333;">,</span>
OutputStream out<span style="color: #333333;">,</span> Map<span style="color: #333333;"><</span>String<span style="color: #333333;">,</span> String<span style="color: #333333;">></span> calloutParams<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
String type <span style="color: #333333;">=</span> calloutParams<span style="color: #333333;">.</span><span style="color: #0000cc;">get</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"Type"</span><span style="color: #333333;">);</span>
<span style="color: #008800; font-weight: bold;">return</span> <span style="color: #008800; font-weight: bold;">null</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #555555; font-weight: bold;">@Override</span>
<span style="color: #008800; font-weight: bold;">public</span> PluginOutput <span style="color: #0066bb; font-weight: bold;">process</span><span style="color: #333333;">(</span>PluginContext context<span style="color: #333333;">,</span> InputStream input<span style="color: #333333;">,</span>
Map<span style="color: #333333;"><</span>String<span style="color: #333333;">,</span> String<span style="color: #333333;">></span> calloutParams<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
PluginOutput pOutput <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">new</span> PluginOutput<span style="color: #333333;">();</span>
pOutput<span style="color: #333333;">.</span><span style="color: #0000cc;">setNewFileName</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"MFT "</span> <span style="color: #333333;">+</span> <span style="color: #008800; font-weight: bold;">new</span> Date<span style="color: #333333;">()</span> <span style="color: #333333;">);</span>
<span style="color: #008800; font-weight: bold;">return</span> pOutput<span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #333333;">}</span>
</pre>
</td></tr>
</tbody></table>
</div>
<br />
Alle Imports bis auf <i>java.util.Date</i> werden für jedes Callout benötigt. Mit <i>isPayloadChangeRequired()</i> wird unterschieden, welche der beiden folgenden Methoden aufgerufen wird. Da in diesem Beispiel nur der Dateiname, nicht aber der Inhalt geändert wird, gibt <i>isPayloadChangeRequired() false</i> zurück und die zweite <i>process()</i> Methode wird aufgerufen. Die erste Variante wird nicht benötigt und gibt einfach null zurück.<br />
<br />
<div style="background: #ffffff; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="font-weight: bold;">[</span>oracle@oel6ab src<span style="font-weight: bold;">]</span><span style="color: teal;">$ </span>javac -classpath <span style="color: #bb8844;">"/home/oracle/Oracle/Middleware/soa12103/mft/modules/oracle.mft_12.1.3.0/core-12.1.1.0.jar"</span> com/oracle/callout/sample/FilenameCallout.java
<span style="font-weight: bold;">[</span>oracle@oel6ab src<span style="font-weight: bold;">]</span><span style="color: teal;">$ </span>jar cf FilenameCallout.jar com/oracle/callout/sample/FilenameCallout.class
<span style="font-weight: bold;">[</span>oracle@oel6ab src<span style="font-weight: bold;">]</span><span style="color: teal;">$ </span>ll
total 12
drwxr-xr-x. 3 oracle oinstall 4096 Feb 6 15:23 com
-rw-r--r--. 1 oracle oinstall 1187 Feb 9 16:42 FilenameCallout.jar
</pre>
</div>
<br />
Die Klasse wird dann einfach wie oben übersetzt, hier sind ggf. nur die Pfadnamen anzupassen. Im zweiten Schritt wird ein jar-File erzeugt, welches damit auch schon fertig ist.<br />
Im nächsten Schritt wird die XML-Datei erzeugt, damit MFT weiss, was es mit dem JAR anfangen soll.<br />
<br />
<div style="background: #ffffff; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<table><tbody>
<tr><td><pre style="line-height: 125%; margin: 0;"> 1
2
3
4
5
6
7
8
9
10
11
12
13</pre>
</td><td><pre style="line-height: 125%; margin: 0;"><span style="color: #999999; font-weight: bold;"><?xml version="1.0" encoding="UTF-8"?></span>
<span style="color: navy;"><mft:Callouts</span> <span style="color: teal;">xmlns:mft=</span><span style="color: #bb8844;">"http://xmlns.oracle.com/mft"</span>
<span style="color: teal;">xmlns:xsi=</span><span style="color: #bb8844;">"http://www.w3.org/2001/XMLSchema-instance"</span>
<span style="color: teal;">xsi:schemaLocation=</span><span style="color: #bb8844;">"http://xmlns.oracle.com/mft callout.xsd "</span><span style="color: navy;">></span>
<span style="color: navy;"><mft:Callout</span> <span style="color: teal;">description=</span><span style="color: #bb8844;">"Filename conversion"</span>
<span style="color: teal;">helpText=</span><span style="color: #bb8844;">"File name conversion"</span>
<span style="color: teal;">groupName=</span><span style="color: #bb8844;">"Source-pre,Target-pre,Target-post"</span>
<span style="color: teal;">timeout=</span><span style="color: #bb8844;">"300"</span>
<span style="color: teal;">implementationClass=</span><span style="color: #bb8844;">"com.oracle.callout.sample.FilenameCallout"</span>
<span style="color: teal;">libraryName=</span><span style="color: #bb8844;">"FilenameCallout.jar"</span>
<span style="color: teal;">name=</span><span style="color: #bb8844;">"Filename conversion"</span><span style="color: navy;">></span>
<span style="color: navy;"></mft:Callout></span>
<span style="color: navy;"></mft:Callouts></span>
</pre>
</td></tr>
</tbody></table>
</div>
<br />
Das XML-File dazu ist recht gradlinig. Wichtig ist der Name, welcher in einem MFT-System eindeutig sein muß. Die Attribute <i>libraryName</i> und <i>implementationClass</i> sind selbsterklärend.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtV2Kl07GfudLklkBh8WgfzCaHIAC0AYd49EslQAoebSZNObFjMurfcB4YnAidWerqxCXoZrBEWdLuNrTu5OtHdFsi8O4RGPNG_zuFgQ8l5yzuiXhlxh1uWUHq-u8OaTaeupVq7uyOvg/s1600/Snap1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtV2Kl07GfudLklkBh8WgfzCaHIAC0AYd49EslQAoebSZNObFjMurfcB4YnAidWerqxCXoZrBEWdLuNrTu5OtHdFsi8O4RGPNG_zuFgQ8l5yzuiXhlxh1uWUHq-u8OaTaeupVq7uyOvg/s1600/Snap1.png" height="222" width="640" /></a></div>
<br />
Die beiden Dateien müssen jetzt in das mft-Verzeichnis der jeweiligen WLS-Domain kopiert werden. Falls der Unterordner <i>callouts </i>noch nicht vorhanden ist, wird er manuall erstellt. Danach werden <i>FilenameCallout.jar</i> und <i>FilenameCallout.xml </i>in das callouts-Verzeichnis kopiert.<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<table><tbody>
<tr><td><pre style="line-height: 125%; margin: 0;"> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24</pre>
</td><td><pre style="line-height: 125%; margin: 0;"><span style="color: #aa0000;">CLASSPATH</span>=:/home/oracle/Oracle/Middleware/soa12103/mft/modules/oracle.mft_12.1.3.0/core-12.1.1.0.jar
Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type <span style="color: #00aaaa;">help</span>() <span style="color: #0000aa;">for </span><span style="color: #00aaaa;">help </span>on available commands
wls:/offline> connect(<span style="color: #aa5500;">"weblogic"</span>,<span style="color: #aa5500;">"welcome1"</span>,<span style="color: #aa5500;">"t3://localhost:7003"</span>)
Connecting to t3://localhost:7003 with userid weblogic ...
Successfully connected to managed Server <span style="color: #aa5500;">"mft_server1"</span> that belongs to domain <span style="color: #aa5500;">"soa_domain"</span>.
Warning: An insecure protocol was used to connect to the
server. To ensure on-the-wire security, the SSL port or
Admin port should be used instead.
wls:/soa_domain/serverConfig> crtCalls(<span style="color: #aa5500;">"/home/oracle/Oracle/Middleware/soa12103/user_projects/domains/soa_domain/mft/callouts/FilenameCallout.xml"</span>)
Callout Filename conversion created.
wls:/soa_domain/serverConfig> listCallouts()
Callouts
-----------
[Name:Filename conversion, Library:FilenameCallout.jar, Impl Class:com.oracle.callout.sample.FilenameCallout, Description:Filename conversion, Group:Source-pre,Target-pre,Target-post]
wls:/soa_domain/serverConfig>
</pre>
</td></tr>
</tbody></table>
</div>
<br />
Um MFT mit seinem neuen Callout bekannt zu machen, wird das WLST benötigt. Damit es die spezifischen Kommandos von MFT kennt, wird es gestartet über das wlst.sh aus dem MFT-Verzeichnis unter <i>$MW_HOME/mft/common/bin</i>. Dass man das richtige Skript benutzt hat, erkennt man dann wie oben in der ersten Zeile am CLASSPATH Ausdruck.<br />
Als erstes ist es mit dem WLST notwendig, sich auf den betreffenden Server zu verbinden. Dann wird über <i>crtCalls(...)</i> mit einem Parameter, der auf die XML-Datei zeigt, das Callout registriert. Via <i>listCallouts()</i> kann man sich alle registrierten Callouts anzeigen lassen, <i>deleteCallout(...)</i> entfernt es wieder.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1QgcEvrNox1bYgApLjpdJfyKlVw4PZ91zu6MiPQHHa2ShhEkjvpRgzPBAYxFJ4Iy_cT54kygJFXuA6PB46p3D6vF__LFsKZVpfP8DxsMNRRXNzqxqHVJL5GZlUFxTOUD6T14LlpAWsw/s1600/Snap2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1QgcEvrNox1bYgApLjpdJfyKlVw4PZ91zu6MiPQHHa2ShhEkjvpRgzPBAYxFJ4Iy_cT54kygJFXuA6PB46p3D6vF__LFsKZVpfP8DxsMNRRXNzqxqHVJL5GZlUFxTOUD6T14LlpAWsw/s1600/Snap2.png" height="175" width="400" /></a></div>
<br />
Jetzt werden wieder zwei Verzeichnisse für Quelle und Ziel benötigt. Das können z.B. die Verzeichnisse aus dem <a href="http://fmw-deutsch.blogspot.com/2015/01/1.html" target="_blank">ersten Teil</a> sein, oder man legt einfach zwei neue an.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuhue_QERbY_Zb7atOZfcF8g2rsKeLIeVyAbLynYP_MrVi6SA1ZFqIsYuWqgS8q42ODm7GYaBF-A0yMvWoOpAoXneCzSXraMNZQFV_L7X70ZKicmai01kiGeeXaMvU7NYmw5ayZ-ngvQ/s1600/Snap3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuhue_QERbY_Zb7atOZfcF8g2rsKeLIeVyAbLynYP_MrVi6SA1ZFqIsYuWqgS8q42ODm7GYaBF-A0yMvWoOpAoXneCzSXraMNZQFV_L7X70ZKicmai01kiGeeXaMvU7NYmw5ayZ-ngvQ/s1600/Snap3.png" height="408" width="640" /></a></div>
<br />
In der MFT-Console werden die beiden Verzeichnisse, analog <a href="http://fmw-deutsch.blogspot.com/2015/01/1.html" target="_blank">zu Teil 1</a>, wieder als Source und Target bekannt gemacht. Dann wird ein Transfer mit diesen beiden Verzeichnissen erstellt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhozyzTwHPSBhwC82m1q8oNHnm7eG58CEZriwmF8wb8KQzoha78vCtu0_q_AaYP0NtTNnpzGaMEuG7DQ4gM-GATuSvckawjVezlJnik6YhfhVUS5NnOhUnEJ-eUs889c9aarDeqkNEsrQ/s1600/Snap4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhozyzTwHPSBhwC82m1q8oNHnm7eG58CEZriwmF8wb8KQzoha78vCtu0_q_AaYP0NtTNnpzGaMEuG7DQ4gM-GATuSvckawjVezlJnik6YhfhVUS5NnOhUnEJ-eUs889c9aarDeqkNEsrQ/s1600/Snap4.png" height="356" width="400" /></a></div>
<br />
Nach Klick auf <add pre-processing actions> kann im Dialog jetzt auch 'Filename conversion' ausgewählt und mit <i>Add to List </i>hinzugefügt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdTE8nzQaiLGUWn4b7ZuE4cUxa_yC5YFlV_aExMSDRNPzm_tGGDvNfLj8pYHN7MbKLPourkWUAs7lpdm_-OqbAURU48OC24Phxn0OHPsSB0u3qZeJ0wnxlbC268x5MW2zA47fXIEJj7w/s1600/Snap5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdTE8nzQaiLGUWn4b7ZuE4cUxa_yC5YFlV_aExMSDRNPzm_tGGDvNfLj8pYHN7MbKLPourkWUAs7lpdm_-OqbAURU48OC24Phxn0OHPsSB0u3qZeJ0wnxlbC268x5MW2zA47fXIEJj7w/s1600/Snap5.png" height="432" width="640" /></a></div>
<br />
Das Ergebnis sollte dann wie oben abgebildet aussehen. Speichern mit <i>Save</i>, danach abschließen mit <i>Deploy</i>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8rFx3udaaJO3_gHfeWgAJSRBOuJTpg9-oGW5ygVeTEb-8wTob6v8FfJxAkRWzhBc0nKFxI-R07qhJru-I4OD2Y3LouP_X1UAj8eUVuVPYhAwbwsmEHqAwrotdQUa1gnuGw12v_Q2vXA/s1600/Snap6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8rFx3udaaJO3_gHfeWgAJSRBOuJTpg9-oGW5ygVeTEb-8wTob6v8FfJxAkRWzhBc0nKFxI-R07qhJru-I4OD2Y3LouP_X1UAj8eUVuVPYhAwbwsmEHqAwrotdQUa1gnuGw12v_Q2vXA/s1600/Snap6.png" height="323" width="640" /></a></div>
<br />
Nach kurzer Zeit sollte der erfolgreich verlaufene Transfer im Dashboard angezeigt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLE6fo_ljbc_trMbTVgEGymGyJaTGUMJV5pzP74NctTkhBzIV8fRvYI8F7-k3t53qynlF5YUQg9vbGlFG9yqcYBeHzOhqK8xNii82hH1g2oqhLTCbDSlEyVjymMZvR0tlwAQIrlR7Rsg/s1600/Snap8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLE6fo_ljbc_trMbTVgEGymGyJaTGUMJV5pzP74NctTkhBzIV8fRvYI8F7-k3t53qynlF5YUQg9vbGlFG9yqcYBeHzOhqK8xNii82hH1g2oqhLTCbDSlEyVjymMZvR0tlwAQIrlR7Rsg/s1600/Snap8.png" height="173" width="400" /></a></div>
<br />
Auch im Dateisystem sollte die übertragene Datei mit dem geänderten Dateinamen jetzt auftauchen. Damit ist das Handson-Tutorial zu Custom Callouts in Java abgeschlossen.<br />
<br />
Teil 4: <a href="http://fmw-deutsch.blogspot.de/2015/02/oracle-managed-file-transfer-mft.html">Integration mit der SOA Suite</a><br />
<br />
<div style="text-align: center;">
[<a href="http://fmw-deutsch.blogspot.de/2015/01/1.html">Teil 1</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/01/oracle-managed-files-handson-tutorial.html">Teil 2</a>] [Teil 3] [<a href="http://fmw-deutsch.blogspot.de/2015/02/oracle-managed-file-transfer-mft.html">Teil 4</a>]</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-50315685198569831152015-01-30T08:08:00.000-08:002015-02-24T06:35:43.536-08:00Oracle Managed Files handson Tutorial - Teil 2: ftp-Transfer<div style="text-align: center;">
[<a href="http://fmw-deutsch.blogspot.de/2015/01/1.html">Teil 1</a>] [Teil 2] [<a href="http://fmw-deutsch.blogspot.de/2015/02/moracle-managed-file-transfer-mft.html">Teil 3</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/02/oracle-managed-file-transfer-mft.html">Teil 4</a>] </div>
<br />
Nachdem im ersten Teil nur Dateien transferiert wurden, die im direkten Zugriff liegen, werden in diesem Teil Dateien per ftp übertragen. Da MFT eine Anwendung auf einem Weblogic-Server ist und dessen Berechtigungskonzept nutzt, müssen die Berechtigungen zunächst in der Weblogic-Console (http://HOSTNAME:PORT/console, z.B. http://localhost:7001/console) vergeben werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl5iBlcaxjh9AG8ykFn5L5OzWY0VGDR6rahQEggPEFVRZtoOfCfLMCRI8FGz9s7Al15p2HAMrlg1dB35NSxmTX2q5UfiF69hyphenhyphenA1YsCLj-s7IAHsitzq77Gct7VCPSbLd5n_UcMEV-pqQ/s1600/Snap25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl5iBlcaxjh9AG8ykFn5L5OzWY0VGDR6rahQEggPEFVRZtoOfCfLMCRI8FGz9s7Al15p2HAMrlg1dB35NSxmTX2q5UfiF69hyphenhyphenA1YsCLj-s7IAHsitzq77Gct7VCPSbLd5n_UcMEV-pqQ/s1600/Snap25.png" height="425" width="640" /></a></div>
<br />
In der Weblogic Console geht es los bei Security Realms, dann rechts auf myrealm klicken.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8mf_1uL0Znwx3_uLmF2PBx07efdckKIBK9HMt6h3RicKj9Oj0POftut6lcC6spoWs9eOEafBi0Jv8zEHYLHxgXVyGaprAoRHQHAy-zESL5zyRKvlqoLfKJvVSDI8E9vE7kyLwA6Jqgw/s1600/Snap26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8mf_1uL0Znwx3_uLmF2PBx07efdckKIBK9HMt6h3RicKj9Oj0POftut6lcC6spoWs9eOEafBi0Jv8zEHYLHxgXVyGaprAoRHQHAy-zESL5zyRKvlqoLfKJvVSDI8E9vE7kyLwA6Jqgw/s1600/Snap26.png" height="418" width="640" /></a></div>
<br />
Dort geht es weiter unter ‚Users and Groups', dann ‚New' klicken um einen neuen Benutzer anzulegen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDjxHdiW0jLTmUcncd1wYzwwSftBEuINVFl-miTr2oBoKjCrna6ODwWmC8N7gIzKAG9iDtCQarZXoz0pZDVpE12_r_OpRcng3UKzSVqhMl0Myy7r6iVcTugFO50iNRhAKqtxfcwjUzow/s1600/Snap27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDjxHdiW0jLTmUcncd1wYzwwSftBEuINVFl-miTr2oBoKjCrna6ODwWmC8N7gIzKAG9iDtCQarZXoz0pZDVpE12_r_OpRcng3UKzSVqhMl0Myy7r6iVcTugFO50iNRhAKqtxfcwjUzow/s1600/Snap27.png" height="360" width="400" /></a></div>
<br />
Name und Password vergeben, beenden mit ‚OK'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3YBMKiphkWrkGUBJH_UDhrn5TebXxDAuj8e9mddGw0EDWAcltWLcNqjagkf-X6te8ebNFNJ39oSq89hnKuKevkPEptIEVP3-YBNnzOM3XmiBn4Dx4Fchrj0iysldKgD3DowxJyyvDvA/s1600/Snap28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3YBMKiphkWrkGUBJH_UDhrn5TebXxDAuj8e9mddGw0EDWAcltWLcNqjagkf-X6te8ebNFNJ39oSq89hnKuKevkPEptIEVP3-YBNnzOM3XmiBn4Dx4Fchrj0iysldKgD3DowxJyyvDvA/s1600/Snap28.png" height="192" width="640" /></a></div>
<br />
Der Benutzer ist jetzt zwar im Weblogic bekannt, hat aber noch keine Rechte im MFT. Hierzu geht es weiter in der MFT-Console. Unter Administration links im Baum unter Embedded Servers den Eintrag User Access auswählen.<br />
Dann den User suchen, dazu im Suchfeld die ersten drei Zeichen ‚ftp' tippen und den vollständigen Namen aus der Auswahlbox übernehmen. Mit dem Rechtspfeil daneben wird der User übernommen.<br />
Für den standardmässig vorhandenen Folder /ftptransfer dann die beiden Haken bei Write und bei List setzen und mit Save beenden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKwIzUAJeIX5kc6FCkxFDoHWHK2gRL1qWxVArDhigDmXKV56VeBpoP3btELDfmbrrfob7cAyb9tDBvpszzfJeqyC_VhwQXcDr5cGNOT0FjEA3OnOicmRFi3NfHfqbw_Nbk8vpp7N2tfQ/s1600/Snap29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKwIzUAJeIX5kc6FCkxFDoHWHK2gRL1qWxVArDhigDmXKV56VeBpoP3btELDfmbrrfob7cAyb9tDBvpszzfJeqyC_VhwQXcDr5cGNOT0FjEA3OnOicmRFi3NfHfqbw_Nbk8vpp7N2tfQ/s1600/Snap29.png" height="168" width="640" /></a></div>
<br />
Den ftp-Port kann man sich auch unter Embedded Servers unter Ports anzeigen lassen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsAg2wrwoO5EGYK49bfPyksu_gWC5YbmyD9FOf-gdO5aaKsa8eR9DYiIvSEREdvLSbQ_7wf4nW5oKhuXjqUhbZcJVLTcw_rno4LrtygS0795-E4ORIszm3gWsmj1oAmIqHbxO8mRv5Tg/s1600/Snap30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsAg2wrwoO5EGYK49bfPyksu_gWC5YbmyD9FOf-gdO5aaKsa8eR9DYiIvSEREdvLSbQ_7wf4nW5oKhuXjqUhbZcJVLTcw_rno4LrtygS0795-E4ORIszm3gWsmj1oAmIqHbxO8mRv5Tg/s1600/Snap30.png" height="252" width="640" /></a></div>
<br />
Mit dieser Information lässt sich jetzt ein erster Verbindungstest zum internen ftp-Server durchführen. Hierfür kann jeder ftp-Client genutzt werden, z.B. via Shell: ftp localhost 7021. Aus Bequemlichkeit sollte der ftp-Client dort gestartet werden, wo eine gezippte Testdatei (z.B. das hjkl.zip aus Teil 1) liegt.<br />
Die ftp-Session kann offen bleiben, wir brauchen sie gleich noch.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXYbrKs6OYD1zLtSEZdCvyvT3Z9B7Sd5J5WoFZWXw9giI7pc_VeiE07tHv1qH8ZuNO-bYcMqg3Nbr2-Bthmogn1WCzkf8kmu69nvrIQ7Li6VWcR0mm_h-N1JdcVkJIRyj48WEZ0rKX3w/s1600/Snap31.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXYbrKs6OYD1zLtSEZdCvyvT3Z9B7Sd5J5WoFZWXw9giI7pc_VeiE07tHv1qH8ZuNO-bYcMqg3Nbr2-Bthmogn1WCzkf8kmu69nvrIQ7Li6VWcR0mm_h-N1JdcVkJIRyj48WEZ0rKX3w/s1600/Snap31.png" height="353" width="640" /></a></div>
<br />
Damit die Dateien vom internen ftp-Server weitergeleitet werden, wird eine weitere Quelle benötigt. Diese wird genau wie im ersten Teil angelegt unter Design, Sources. Dieses Mal wird der Typ FTP Embedded ausgewählt und der Pfad via Browse ausgewählt. Das Verzeichnis ist schon vorhanden, da MFT für jeden ftp-User gleich ein Verzeichnis anlegt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaMhjhParH7rRPwBlG2BZjcEclxDpNYXjmAsjN1p8qiDVEP30ZLsvfxtkb0dP-8hwFPIXs3f6pvm1vKXkzQZRz5NjRCmrsgf7N2G_It-scKXxhRmDMkeeByhIiX8xJKOiPWWaYoVCpUw/s1600/Snap32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaMhjhParH7rRPwBlG2BZjcEclxDpNYXjmAsjN1p8qiDVEP30ZLsvfxtkb0dP-8hwFPIXs3f6pvm1vKXkzQZRz5NjRCmrsgf7N2G_It-scKXxhRmDMkeeByhIiX8xJKOiPWWaYoVCpUw/s1600/Snap32.png" height="352" width="640" /></a></div>
<br />
Passend zu der Quelle wird auch ein neuer Transport angelegt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4EuVTsuXQfwtzekioGwhqp64MNkZjzOH2h8tP2_ObldbfhDDh-KIO7OL2dL5IIfA1cuHFtNIO220lQgIAPO16WphgE5UCtyedEyEfjmINoCevpadENpNRr82vPleai-wW4vdONQwrTw/s1600/Snap34.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4EuVTsuXQfwtzekioGwhqp64MNkZjzOH2h8tP2_ObldbfhDDh-KIO7OL2dL5IIfA1cuHFtNIO220lQgIAPO16WphgE5UCtyedEyEfjmINoCevpadENpNRr82vPleai-wW4vdONQwrTw/s1600/Snap34.png" height="505" width="640" /></a></div>
<br />
Als Source wird die neue ftp-source eingetragen, die Ziele sind wieder die selben wie im ersten Teil. Das only-txt Target bekommt noch ein Decompress als post-processing Action.<br />
Und wichtig: Beenden wieder mit Save und Deploy.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLnmKSREfFP5kEpg-tL7jVVHwPnEVDInYpWy2nq7_ekqTPdIhrs1t3qltE0h_96unQz0vED3s3FqQRI3tVUSCxSeGR4HbKq8YY8Q22znlyy-kxbEC2BYLPFScxUgqeLVFJZK6NySipdw/s1600/Snap35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLnmKSREfFP5kEpg-tL7jVVHwPnEVDInYpWy2nq7_ekqTPdIhrs1t3qltE0h_96unQz0vED3s3FqQRI3tVUSCxSeGR4HbKq8YY8Q22znlyy-kxbEC2BYLPFScxUgqeLVFJZK6NySipdw/s1600/Snap35.png" height="398" width="640" /></a></div>
<br />
Um den ftp-Transfer zu testen, kann die vorher geöffnete ftp-Session genutzt werden. Die Kommandos hierfür sind bin (Binary, für zip) und put hjkl.zip, zur Überrprüfung gefolgt von ls. Die Datei sollte dann angezeigt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSMoAun7vI0ur0lVzJSP4qqv3kBzwwXsb1yKd69wzrruejLqHpRZwOZXIJRVFX_eJpVOSq1k9LV2UfkTDlQX5HIDIYHKUaUSkl38T0yjVY6trFrBEoU_e94gCIZbkNmaENDIMiUfAvxw/s1600/Snap36.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSMoAun7vI0ur0lVzJSP4qqv3kBzwwXsb1yKd69wzrruejLqHpRZwOZXIJRVFX_eJpVOSq1k9LV2UfkTDlQX5HIDIYHKUaUSkl38T0yjVY6trFrBEoU_e94gCIZbkNmaENDIMiUfAvxw/s1600/Snap36.png" height="470" width="640" /></a></div>
<br />
Wie auch im vorigen Beispiel sollten die beiden gelieferten Dateien im Monitoring Dashboard unten rechts nach kurzer Zeit auftauchen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3CwnYRbb7twGoY4AG9tddRGi3dZVSzGPdNn3tbBbilgLVbTpDbam92vsaBkDwjy2cbHUKC8QRJ_W9OFU6VUdQuYKWgL-tOelCsTuv-qsyxUiGQvy5xamMOaZ-zUGtu3_xM7imvh9ypw/s1600/Snap37.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3CwnYRbb7twGoY4AG9tddRGi3dZVSzGPdNn3tbBbilgLVbTpDbam92vsaBkDwjy2cbHUKC8QRJ_W9OFU6VUdQuYKWgL-tOelCsTuv-qsyxUiGQvy5xamMOaZ-zUGtu3_xM7imvh9ypw/s1600/Snap37.png" height="202" width="400" /></a></div>
<br />
Das Ergebnis läßt sich auch auf Dateiebene überprüfen. Wenn die Dateien entsprechend angekommen ist, ist dieser Tutorial-Teil zum integrierten ftp-Server abgeschlossen.<br />
<br />
<a href="http://fmw-deutsch.blogspot.com/2015/02/moracle-managed-file-transfer-mft.html" target="_blank">--> Oracle Managed File Transfer (MFT) handson - Teil 3: Custom Callouts in Java</a><br />
<br />
<div style="text-align: center;">
[<a href="http://fmw-deutsch.blogspot.de/2015/01/1.html">Teil 1</a>] [Teil 2] [<a href="http://fmw-deutsch.blogspot.de/2015/02/moracle-managed-file-transfer-mft.html">Teil 3</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/02/oracle-managed-file-transfer-mft.html">Teil 4</a>] </div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-8031839412242302322015-01-29T10:04:00.000-08:002015-02-24T06:32:22.270-08:00Oracle Managed File Transfer (MFT) handson - Teil 1: Grundlagen<div style="text-align: center;">
[Teil 1] [<a href="http://fmw-deutsch.blogspot.de/2015/01/oracle-managed-files-handson-tutorial.html" target="_blank">Teil 2</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/02/moracle-managed-file-transfer-mft.html" target="_blank">Teil 3</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/02/oracle-managed-file-transfer-mft.html" target="_blank">Teil 4</a>]</div>
<br />
Dieses Tutorial zeigt die ersten Schritte mit Oracle Managed File Transfer. Voraussetzung ist ein installiertes und laufendes System, die Installationsanleitung findet sich auf OTN unter http://www.oracle.com/technetwork/middleware/mft/documentation/index.html. Dieses Tutorial wurde unter Oracle Linux 6 erstellt, für andere Plattformen müssen die Betriebsystem-Kommandos entsprechend angepasst werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwFtrmenPhpEqGUmxbSfUSIZM6OFdK4MeFHgW6Xn00mTSlcrxeZyhoVqs7Hke2lnBaoAHVPPpKVg5RQIHks-YGZf8EII9xxJv-JgSwZf3p5UlrZV3OHM4s94hO2D8BAKBJtdNOCo-F-A/s1600/Snap1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwFtrmenPhpEqGUmxbSfUSIZM6OFdK4MeFHgW6Xn00mTSlcrxeZyhoVqs7Hke2lnBaoAHVPPpKVg5RQIHks-YGZf8EII9xxJv-JgSwZf3p5UlrZV3OHM4s94hO2D8BAKBJtdNOCo-F-A/s1600/Snap1.png" height="260" width="640" /></a></div>
<br />
Los geht es in der MFT-Console, zu finden unter [servername]:[MFT-Server Port]/mftconsole, in diesem Beispiel http://localhost:7003/mftconsole. Die UI ist dreigeteilt in Design, Monitoring und Administration. Wir beginnen im Bereich Design, um zunächst die Strukturen festzulegen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb-k0MhSuJ4Raqu5nPFJsJZQixe9iNt4SJ-HAfGPaZzyrlPHifwY5aN5l2T4HEkaa-ZhfvOCWxuICT700pNgqmfXeYtEM1dBC3CD4MZ2Xdqt-GR1JvhDgtx5ydDkIE-TfS86YiCxJl3A/s1600/Snap2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb-k0MhSuJ4Raqu5nPFJsJZQixe9iNt4SJ-HAfGPaZzyrlPHifwY5aN5l2T4HEkaa-ZhfvOCWxuICT700pNgqmfXeYtEM1dBC3CD4MZ2Xdqt-GR1JvhDgtx5ydDkIE-TfS86YiCxJl3A/s1600/Snap2.png" height="195" width="320" /></a></div>
<br />
Zu Beginn werden drei Ordner im Dateisystem benötigt: File-Source, only-txt und only-zip. Um auch etwas Payload zu bekommen, benötigen wir noch zwei Textdateien mit aussagefähigen Dateinamen (unter Linux z.B. touch asdf.txt), eine davon wird anschliessend gezipped (zip hjkl.txt).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWWYwBV5Hf4pB2USA4s44pZUd29PEA2J9HEhKl6DWViG_ki6Y2Ppqz6CptPT5MGqWxaLEM6ofscIoseq-T9Yv_xW7zssgDoEQli2MV2ottb6-0KRuatSftrVcw5W8o2gbZb1n6SqcHog/s1600/Snap3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWWYwBV5Hf4pB2USA4s44pZUd29PEA2J9HEhKl6DWViG_ki6Y2Ppqz6CptPT5MGqWxaLEM6ofscIoseq-T9Yv_xW7zssgDoEQli2MV2ottb6-0KRuatSftrVcw5W8o2gbZb1n6SqcHog/s1600/Snap3.png" height="352" width="640" /></a></div>
<br />
Diese Verzeichnissse müssen MFT zunächste bekannt gemacht werden. Hierzu öffnet ein Klick auf <i>Sources</i> im linken Teil den <i>Create Source</i> Dialog. Neben einem Namen wird hier der Type <i>File </i>und der eben angelegte Source Folder eingetragen. Beenden mit ‚Create'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidgxomZaNFaVuYSXl9UIMnedjUlc2oRMuXj7W-DKzgi-PivT1k1fGDB0v3NdTDVvgJghm3XMyI5YfSDjgh3hu-XVziaxG46mM3idl6Blvv1rShjyfeTisXpUGlA6OBQSKq6c-Hjyw-BA/s1600/Snap4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidgxomZaNFaVuYSXl9UIMnedjUlc2oRMuXj7W-DKzgi-PivT1k1fGDB0v3NdTDVvgJghm3XMyI5YfSDjgh3hu-XVziaxG46mM3idl6Blvv1rShjyfeTisXpUGlA6OBQSKq6c-Hjyw-BA/s1600/Snap4.png" height="350" width="640" /></a></div>
<br />
Analog werden per Klick auf <i>Targets </i>die beiden Ziele definiert.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Tor90cqAobnXuRJtAp3-YdTUxIyzsWrPVrsd0vFtVbRKne0WDJXk_8nOH3hAyHAYIjuMyrixZNUQct9QR7l5NqK1kNLAWq-NlchHWvqbLRYI2Zh1sb74rg71mY4IAfdslmrMxCdzdw/s1600/Snap6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Tor90cqAobnXuRJtAp3-YdTUxIyzsWrPVrsd0vFtVbRKne0WDJXk_8nOH3hAyHAYIjuMyrixZNUQct9QR7l5NqK1kNLAWq-NlchHWvqbLRYI2Zh1sb74rg71mY4IAfdslmrMxCdzdw/s1600/Snap6.png" height="338" width="640" /></a></div>
<br />
Link sollte der Baum jetzt die Quelle und die beiden Ziele darstellen. Klickt man ein Element an, werden rechts Detailinformationen angezeigt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzLS02WPgxeC70d5nue1yhKjTjRLVYdkqHqSvwjARjwcGc3dYkKo3M1DgVMgQm97eS1SNFk1N8_z6PECRPwkPGAZ-Idxde2qT-GjXrMaBa3I79QrDRlmRD-Z1XRP1RxjgHn8N83Ai-uw/s1600/Snap8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzLS02WPgxeC70d5nue1yhKjTjRLVYdkqHqSvwjARjwcGc3dYkKo3M1DgVMgQm97eS1SNFk1N8_z6PECRPwkPGAZ-Idxde2qT-GjXrMaBa3I79QrDRlmRD-Z1XRP1RxjgHn8N83Ai-uw/s1600/Snap8.png" height="376" width="640" /></a></div>
<br />
Nun kann per Klick auf <i>Transfers</i> im der erste Transfer im <i>Create Transfer</i> Dialog definiert werden. Weitere Parameter lassen sich hier noch nicht eingeben.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO3A0uLnggAIOJK6Tz_lIvlijnaOCiHVLaw03BpVauerS1_g7FDXtE_ea7mfV-MDUPeqzuNMjrIuzu_NIxo-ixo8TsELnxY6-aO8h2Zv4jFOtnKs5jpqOzXlPI5dwhOvVK70Hv6How7g/s1600/Snap9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO3A0uLnggAIOJK6Tz_lIvlijnaOCiHVLaw03BpVauerS1_g7FDXtE_ea7mfV-MDUPeqzuNMjrIuzu_NIxo-ixo8TsELnxY6-aO8h2Zv4jFOtnKs5jpqOzXlPI5dwhOvVK70Hv6How7g/s1600/Snap9.png" height="191" width="400" /></a></div>
<br />
In der Detailansicht des Transfers lässt sich via <i>add source,</i> oder alternativ per Drag&Drop aus der Baumansicht links, die vorhandene Quelle zuweisen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLVzVvm1RvojdilBnYzarCOG2bqEyhcYWEuV5BqN0IzT7mGAOaxMp-kbbFD-2dt_WAVGnuiMhb0-fo-pxjzC_B63i6HWlTNpnwX4FRpyKQQDct-0XVhKBZpr1MGrTdeO6IxrMlSw2aAg/s1600/Snap13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLVzVvm1RvojdilBnYzarCOG2bqEyhcYWEuV5BqN0IzT7mGAOaxMp-kbbFD-2dt_WAVGnuiMhb0-fo-pxjzC_B63i6HWlTNpnwX4FRpyKQQDct-0XVhKBZpr1MGrTdeO6IxrMlSw2aAg/s1600/Snap13.png" height="253" width="400" /></a></div>
<br />
Danach werden die Ziele zugeordnet. Via <i>add target</i> lassen sich hier auch mehrere Ziele auswählen, also können hier gleich beide Targets auf die rechte Seite verschoben werden.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOkYH8dScyRjtnLxpGz9UjE5c-jLYgh_8uzeRN3hHzCbU-eB-4gS-nmxvM9WY3B9WGEEodFi6cENXE50y5-g-U8s83RNY4n7Wf2wAgS1hhsyQ4Qr67j4l3-Jt1P3dSx0IWH7st90x55A/s1600/Snap14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOkYH8dScyRjtnLxpGz9UjE5c-jLYgh_8uzeRN3hHzCbU-eB-4gS-nmxvM9WY3B9WGEEodFi6cENXE50y5-g-U8s83RNY4n7Wf2wAgS1hhsyQ4Qr67j4l3-Jt1P3dSx0IWH7st90x55A/s1600/Snap14.png" height="489" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Damit auch nur .txt Dateien übertragen werden, wird die entsprechende Wildcard unter <i>Content Filters</i> eingetragen. Für komplexere Filter können hier wahlweise auch Regular Expressions hinterlegt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD327KWYY74LNzez1wy_Uw7QMpinQvKKZyLpl9d1t2Gtpo_hVlIDGeT5O5Vri1TP31tEKwT5pIttCEdShSNRV2rS26HUj97G9-gu-ytjKw3_mBfWOYA6hukvXtSnpWtD3cUqd8fj2wlQ/s1600/Snap15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD327KWYY74LNzez1wy_Uw7QMpinQvKKZyLpl9d1t2Gtpo_hVlIDGeT5O5Vri1TP31tEKwT5pIttCEdShSNRV2rS26HUj97G9-gu-ytjKw3_mBfWOYA6hukvXtSnpWtD3cUqd8fj2wlQ/s1600/Snap15.png" height="378" width="400" /></a></div>
<br />
Damit im only-zip Target die .txt Dateien gezipped ankommen, wird beim only-zip Target per <add pre-processing actions> eine Compress-Action hinzugefügt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMyIJB6a_wcl8J2FD6s9Vygves6PA6e-zbi0wmZkSgGo-NaRFXRTBX9Q_n-RvBliyFna_sytGI5V8Vx4bHDWVWFtpBXYjmi-gCxv9WvCmdB60g-rIu8M2mHMS_QWHZsq5Kr08ZePB1ZA/s1600/Snap23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMyIJB6a_wcl8J2FD6s9Vygves6PA6e-zbi0wmZkSgGo-NaRFXRTBX9Q_n-RvBliyFna_sytGI5V8Vx4bHDWVWFtpBXYjmi-gCxv9WvCmdB60g-rIu8M2mHMS_QWHZsq5Kr08ZePB1ZA/s1600/Snap23.png" height="384" width="640" /></a></div>
<br />
Das Ergebnis sollte dann wie oben abgebildet aussehen. Eine File-source als Quelle mit Wildcard *.txt. Beide Ziele, only-txt und only-zip, eingetragen. Bei only-zip gibt es noch eine Compress Pre-Processing Action.<br />
Bislang ist der Transfer aber nur definiert, läuft aber noch nicht auf dem Server. Um das zu erreichen, wird oben auf die Buttons ‚Save' und danach auf ‚Deploy' geklickt. Der Dialog wird mit <i>Deploy </i>abgeschlossen und mit <i>OK </i>bestätigt. Der Button zeigt dann <i>Deployed </i>wie oben abgebildet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8siZAUc8jdTiefJ-N0IZ3DxukJFVINoJjzUjmynYrSL4D6RU3sD9BRQdCNMtrWi-7NP1YytdqVm48_z4SxRLHXq-FUWkckqx1cOiTg2Dqn21zAqK11MUpM3xJYjNOYTQapOmgoNh-Rw/s1600/Snap21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8siZAUc8jdTiefJ-N0IZ3DxukJFVINoJjzUjmynYrSL4D6RU3sD9BRQdCNMtrWi-7NP1YytdqVm48_z4SxRLHXq-FUWkckqx1cOiTg2Dqn21zAqK11MUpM3xJYjNOYTQapOmgoNh-Rw/s1600/Snap21.png" height="299" width="640" /></a></div>
<br />
Im Bereich <i>Monitoring </i>kann man unter <i>Deployments</i> sehen, dass die Quelle und die beiden Ziele ebenfalls mit deployed wurden, da diese vom Transfer benötigt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSuTe7DicA7JD9oI9hkfbJ3PV_XxD4ZN2OWeo_awsCYJ_969usux9iLKIr2OKiCwo6LATOV9tA0Ryu-lpSkm_82WHDSlEMiOapeXsVFfO1yel4I5Ia4SJLTN1ZuC5EgSWBimX-yLRd4A/s1600/Snap22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSuTe7DicA7JD9oI9hkfbJ3PV_XxD4ZN2OWeo_awsCYJ_969usux9iLKIr2OKiCwo6LATOV9tA0Ryu-lpSkm_82WHDSlEMiOapeXsVFfO1yel4I5Ia4SJLTN1ZuC5EgSWBimX-yLRd4A/s1600/Snap22.png" height="243" width="400" /></a></div>
<br />
Zum Testen wird auf Dateiebene eine Datei, z.B. die asdf.txt in den Ordner file-source kopiert.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgKk6prH69fsMdlBrXpM7QdfkkvLp09aMhUN6PlfMe5GUyDbKB87ASWNSAfvv31RDVOEjLqwbynPZ_kyC0ecRUKw8Gokl4Dym4KjvJ-ABPEujBZR2Tw8NFYQrk8bnf8kQClmuU8kUXfg/s1600/Snap17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgKk6prH69fsMdlBrXpM7QdfkkvLp09aMhUN6PlfMe5GUyDbKB87ASWNSAfvv31RDVOEjLqwbynPZ_kyC0ecRUKw8Gokl4Dym4KjvJ-ABPEujBZR2Tw8NFYQrk8bnf8kQClmuU8kUXfg/s1600/Snap17.png" height="342" width="640" /></a></div>
<br />
Im Monitoring-Bereich lassen sich unter <i>Dashbord</i> die Transfers überwachen. Der Bereich <i>Active Deliveries</i> unten rechts lässt sich auf auto-Refresh stellen. Nach kurzer Zeit sollten unten rechts die beiden erfolgreichen Transfers angezeigt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzQQSpI25jzEMIyLtx7nGRe4Y2bvX1Nv2nYrFWzacEZmVuqNkNBaWbGESZ61nG9NRX_uRra6Q7h_Qoholo1LImJroYFO1Xr1QtmDagYF2S44nchp_laytdoz2HD3GOqVkvoAx6kRBM8g/s1600/Snap18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzQQSpI25jzEMIyLtx7nGRe4Y2bvX1Nv2nYrFWzacEZmVuqNkNBaWbGESZ61nG9NRX_uRra6Q7h_Qoholo1LImJroYFO1Xr1QtmDagYF2S44nchp_laytdoz2HD3GOqVkvoAx6kRBM8g/s1600/Snap18.png" height="243" width="400" /></a></div>
<br />
Im Dateisystem kann man sehen, dass die Datei in das only-txt Verzeichnis einfach kopiert wurde, während sie für das only-zip Verzeichnis noch komprimiert wurde.<br />
<br />
Als Übung kann ein weiterer Transfer für die gleichen Ordner erstellt werden, der genau gegenteilig arbeitet. Zip-Dateien werden dann in only-zip kopiert, währen txt-Dateien vor dem Transfer gepackt und übertragen werden.<br />
<br />
<a href="http://fmw-deutsch.blogspot.de/2015/01/oracle-managed-files-handson-tutorial.html" target="_blank">--> Teil 2: ftp-Transfer</a><br />
<div>
<div style="text-align: center;">
[Teil 1] [<a href="http://fmw-deutsch.blogspot.de/2015/01/oracle-managed-files-handson-tutorial.html" target="_blank">Teil 2</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/02/moracle-managed-file-transfer-mft.html" target="_blank">Teil 3</a>] [<a href="http://fmw-deutsch.blogspot.de/2015/02/oracle-managed-file-transfer-mft.html" target="_blank">Teil 4</a>]</div>
<span style="text-align: center;"><br /></span></div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-71269809637135370232014-12-19T07:23:00.000-08:002015-02-13T07:30:07.647-08:00Oracle Business Rules: Verbal Rules und BPM handsonOracle hat mit SOA/BPM 12c die Oracle Business Rules um die sog. Verbal Rules erweitert. Damit ist es möglich, Regeln umgangsprachlicher zu formulieren um Fachanwender besser in das Regeldesign einzubinden. Dieses Tutorial zeigt den Umgang mit Verbal Rules, die grundsätzliche Bedienung der BPM-Suite sollte hierfür bekannt sein.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiitr6lJ-9FFmSIBKw71wOXtAt2kZPllZYi4svQbL6ru3z23ADaQA1AVOW-ZB6UhJevXuLukyRMcOpCUEnuG4S8S3nyuvMcnYTBv17Mb244LbvS9The6OcRUc3Y3n0nSD2g8Hyav6qWOQ/s1600/Snap1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiitr6lJ-9FFmSIBKw71wOXtAt2kZPllZYi4svQbL6ru3z23ADaQA1AVOW-ZB6UhJevXuLukyRMcOpCUEnuG4S8S3nyuvMcnYTBv17Mb244LbvS9The6OcRUc3Y3n0nSD2g8Hyav6qWOQ/s1600/Snap1.png" height="380" width="640" /></a></div>
<br />
Los geht es im JDeveloper mit einer neuen BPM Application. Diese sollte gleich ein Projekt mit einem leeren BPM Process bekommen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuy07g8BR2p16PhgHBzQwQdHw_4TLDxe1wNpaJ3U1hWZnXOOt6efmrqDOqE7KD3VahPXzm3B1ZfvLgtH3JBaufiTRRbns-reBnhNs6BtdorwAG08bRL08KRmM8XqsNFes-y8jVz9zfcw/s1600/Snap3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuy07g8BR2p16PhgHBzQwQdHw_4TLDxe1wNpaJ3U1hWZnXOOt6efmrqDOqE7KD3VahPXzm3B1ZfvLgtH3JBaufiTRRbns-reBnhNs6BtdorwAG08bRL08KRmM8XqsNFes-y8jVz9zfcw/s1600/Snap3.png" height="212" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Wenn der Prozess geöffnet ist, lässt sich der Busisness Catalog anzeigen (Window|Catalog). Per Rechtsklick|New|Module wird zunächst ein neues Modul erstellt.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJdpxZuicr9T1nnxcm1eMSuLOeDCs3DfNknq58rUukglSOWI1LAamnQ6OOfk30xG4YHpt6houEzA5SQPHHn2UKr6P5w0rs2KhPUyYuRZWv12YIvHxmtuAlAFEgn2AJ0RJJxWVFqAnK6w/s1600/Snap4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJdpxZuicr9T1nnxcm1eMSuLOeDCs3DfNknq58rUukglSOWI1LAamnQ6OOfk30xG4YHpt6houEzA5SQPHHn2UKr6P5w0rs2KhPUyYuRZWv12YIvHxmtuAlAFEgn2AJ0RJJxWVFqAnK6w/s1600/Snap4.png" height="213" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Auf dem Modul wird dann per Rechtsklick|New|Business Object das erste BO erstellt. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihLtqsJxyeLfQ10WpcmOU9QCT-c0vmC7-azbJmYhVg3XU2EEtJqt3Tw1Jf-PkEXS-SK3GjJbjjsY8ui2KKj_abQNxH0MjkLthTt2GM-O0GEMgk8v_4O6bv9ML3Z7wHAFkkza8QbavLAQ/s1600/Snap5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihLtqsJxyeLfQ10WpcmOU9QCT-c0vmC7-azbJmYhVg3XU2EEtJqt3Tw1Jf-PkEXS-SK3GjJbjjsY8ui2KKj_abQNxH0MjkLthTt2GM-O0GEMgk8v_4O6bv9ML3Z7wHAFkkza8QbavLAQ/s1600/Snap5.png" height="152" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Namen vergeben und fertig.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWn8vQ7NEwRrK9VmDXIJTMA-abvhxjtETq7EyEWbpgLQSA-UsjK-DTsszhtKyZJD3RNgz_FdY-fx2i3z_MyN-WKKJZFNUuCVQag9xEbAcEKMnocn5Fa_e_EOCC9xUDqtqcqxwi9-FZCQ/s1600/Snap6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWn8vQ7NEwRrK9VmDXIJTMA-abvhxjtETq7EyEWbpgLQSA-UsjK-DTsszhtKyZJD3RNgz_FdY-fx2i3z_MyN-WKKJZFNUuCVQag9xEbAcEKMnocn5Fa_e_EOCC9xUDqtqcqxwi9-FZCQ/s1600/Snap6.png" height="281" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Es bekommt zwei Attribute (price:decimal, discount:int).</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB1w3XDdhIy4n412srq3nbGxpUF2JdCHqRXkS1QPfnZejknDfbEddjiawjIcIH-9UlhbkUvxbRqstDWeGZS8h5UZ7TplL0FvSAQwUwFKygI9beCSddyfIkpIP03YrqA_Jjc1gIx65Gyg/s1600/Snap7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB1w3XDdhIy4n412srq3nbGxpUF2JdCHqRXkS1QPfnZejknDfbEddjiawjIcIH-9UlhbkUvxbRqstDWeGZS8h5UZ7TplL0FvSAQwUwFKygI9beCSddyfIkpIP03YrqA_Jjc1gIx65Gyg/s1600/Snap7.png" height="232" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Ein zweite BO namens ApprovalOutBO wird angelegt, mit einem einzigen Attribut approval (String).</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5Yl51Nv5yWEtmSlb91U9qMz8vPz_eFw9iwd4V2RjVZWpYb0zxqBLwKOydzhPMEleDeMjR0klEjLAcdzV100p0MZfAJTFtzq9tryW0T05oudg9J9lTTMPFtGWr0_VhH_YGN3qxhy-MRA/s1600/Snap8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5Yl51Nv5yWEtmSlb91U9qMz8vPz_eFw9iwd4V2RjVZWpYb0zxqBLwKOydzhPMEleDeMjR0klEjLAcdzV100p0MZfAJTFtzq9tryW0T05oudg9J9lTTMPFtGWr0_VhH_YGN3qxhy-MRA/s1600/Snap8.png" height="260" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Zu den Business Objects werden jetzt entsprechende Process Data Objects benötigt. Erzeugt werden diese in der Structure-Darstellung via Rechtsklick|New.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4dMwBa0aRLmYF-3dhoJ70efgn2RnkBqNUfYr4gz6B_UOX7njhh0puI8mFjH2IxWtfsj4A6CPrPpe80de-oTjrHdX1SbEnbR3oWl518vXV4WGq-7qs9tFTEwS2xon28JUiNX4rLAYJug/s1600/Snap9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4dMwBa0aRLmYF-3dhoJ70efgn2RnkBqNUfYr4gz6B_UOX7njhh0puI8mFjH2IxWtfsj4A6CPrPpe80de-oTjrHdX1SbEnbR3oWl518vXV4WGq-7qs9tFTEwS2xon28JUiNX4rLAYJug/s1600/Snap9.png" height="259" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Ein sinnvoller Name sollte vergeben werden, der Typ wird ausgewählt via Browse.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijPg7IwlLlYbloUTfoXcdw7KfRUkZb_yYvWusNzagG8rHEP2yXMOrG7-Xu0490fLsfnA-kpyRtOEzbfjovVACIxRwywcrpVWmkSN5J7o0u-5ObWkwufToOmeghQ7P7zqzZW_ni1tF-Kg/s1600/Snap11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijPg7IwlLlYbloUTfoXcdw7KfRUkZb_yYvWusNzagG8rHEP2yXMOrG7-Xu0490fLsfnA-kpyRtOEzbfjovVACIxRwywcrpVWmkSN5J7o0u-5ObWkwufToOmeghQ7P7zqzZW_ni1tF-Kg/s1600/Snap11.png" height="284" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Hier dann das jeweils passende BO auswählen</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnh-HBPztkhB22UD5b1x8QgQI8RT7LyFJOQ7QKzhAebIp1d_sSErhA3VjAqiWwPocXzn-6UyMqHno-FiLLUEqDTJfJFyRkSfvVnSOQvOp0IXSEL5iXB-J_C2SD2a6w3rXRV8x1mSqO-A/s1600/Snap12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnh-HBPztkhB22UD5b1x8QgQI8RT7LyFJOQ7QKzhAebIp1d_sSErhA3VjAqiWwPocXzn-6UyMqHno-FiLLUEqDTJfJFyRkSfvVnSOQvOp0IXSEL5iXB-J_C2SD2a6w3rXRV8x1mSqO-A/s1600/Snap12.png" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Das Ganze wird für beide BO's durchgeführt, so dass jetzt zwei entsprechende Process Data Objects angezeigt werden sollten.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJw8ul05pY-bnIh09bIUHi-YU3eUYWl_ypJbI13-cqHigzPfkNdy9cJHSxt9uHR3UaFlcryqh5zajAp4OQfEK46QihTO1ybVY-xNBB1Gs-NFwAvKjIxFlRi8iqSlNkWO0UwV01hhuBKw/s1600/Snap13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJw8ul05pY-bnIh09bIUHi-YU3eUYWl_ypJbI13-cqHigzPfkNdy9cJHSxt9uHR3UaFlcryqh5zajAp4OQfEK46QihTO1ybVY-xNBB1Gs-NFwAvKjIxFlRi8iqSlNkWO0UwV01hhuBKw/s1600/Snap13.png" height="186" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In der Prozessdarstellung wird nun eine Rules Task im Prozess platziert.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1ul-qm4HLTXtVGVt39Hx9bH_r47UfaVEyzpY2AR1v2SKgsILp1YVCo-kWtVd-EBm1FP-sGLC33Ayj2Un8xonjAl9UwMyBhajuKDW6jK0I8BaoHfyYXWR0bOzySlHGZ0gJvwe1P8UUbQ/s1600/Snap14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1ul-qm4HLTXtVGVt39Hx9bH_r47UfaVEyzpY2AR1v2SKgsILp1YVCo-kWtVd-EBm1FP-sGLC33Ayj2Un8xonjAl9UwMyBhajuKDW6jK0I8BaoHfyYXWR0bOzySlHGZ0gJvwe1P8UUbQ/s1600/Snap14.png" height="336" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Auf dem Reiter <i>Implementation </i>wird zunächst per Klick auf das grüne Plus (+) ein neues Ruleset erstellt. Wieder per Klick auf das grüne Plus können die Parameter aus dem Fenster per Drag&Drop zugeordnet werden. Die Richtung wird oben in der Combobox eingestellt. Alle Dialoge werden danach mit OK verlassen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMfsA34pvajd7JvOPyTdbKcr7CIrJJtYvHobRrF6dn-Eme1VfgFlJ4Ymn8DI5whAMlJKIm0WRS8RpzNAtLnhdnfqn-f50_GrC0RpILQ6y6CE9ZtX-1gL3txZ8UOsKfBumBTaLSFhmu-g/s1600/Snap15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMfsA34pvajd7JvOPyTdbKcr7CIrJJtYvHobRrF6dn-Eme1VfgFlJ4Ymn8DI5whAMlJKIm0WRS8RpzNAtLnhdnfqn-f50_GrC0RpILQ6y6CE9ZtX-1gL3txZ8UOsKfBumBTaLSFhmu-g/s1600/Snap15.png" height="156" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In der Composite Darstellung ist jetzt auch die neue Rules-Komponente vorhanden. Diese kann per Doppelklick geöffnet werden.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZzF2y55dJ0nlzLfmv-EDY1Nccpg7kDfhT0PIOM3tIsEDLc3jvKQ1BMFBJgtr-APDaJLtHfoObOXmuT2lJsmqh8uLfg8g_86hyK6JbjSmTmiImEPrMa3KIMZAbnHVvNDO7uaSECYKFLQ/s1600/Snap16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZzF2y55dJ0nlzLfmv-EDY1Nccpg7kDfhT0PIOM3tIsEDLc3jvKQ1BMFBJgtr-APDaJLtHfoObOXmuT2lJsmqh8uLfg8g_86hyK6JbjSmTmiImEPrMa3KIMZAbnHVvNDO7uaSECYKFLQ/s1600/Snap16.png" height="142" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Im Reiter <i>Facts </i>finden sich dann auch die beiden Parameter wieder. In der Spalte Alias können die Namen vereinfacht werden, z.B. auf Order und Approval.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgboEvWeVFQL_cWTv7JK-S5UWFQYpCv9VPlCXbjORaI4fRolri36goclyvzkr4FPnnTgJfj1p-7h05VBRFE4-4C12-x10KY30tD7Bs1rZEmWlI98Lqw9TAyDOPdkPPRKyIEyymFWikXPw/s1600/Snap17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgboEvWeVFQL_cWTv7JK-S5UWFQYpCv9VPlCXbjORaI4fRolri36goclyvzkr4FPnnTgJfj1p-7h05VBRFE4-4C12-x10KY30tD7Bs1rZEmWlI98Lqw9TAyDOPdkPPRKyIEyymFWikXPw/s1600/Snap17.png" height="284" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Im Reiter Globals werden zwei Konstanten angelegt. 'minimal discount' mit dem Wert 1 und 'maximal discount' mit dem Wert 10.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRNQ9rEJxaLB5k9thjo_uhcAe8_vZRniw8XouBSEh8TC4mVyREij49yYCvWsxkVXpByNzrLbaFCTNFg7smKyl0Hc0-R6BgjqxcYwgfSieUCWm2eKgQjQk94jo5cTT3cawcAm6rAFMZPw/s1600/Snap18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRNQ9rEJxaLB5k9thjo_uhcAe8_vZRniw8XouBSEh8TC4mVyREij49yYCvWsxkVXpByNzrLbaFCTNFg7smKyl0Hc0-R6BgjqxcYwgfSieUCWm2eKgQjQk94jo5cTT3cawcAm6rAFMZPw/s1600/Snap18.png" height="120" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Das Ergebnis sollte dann wie oben aussehen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoO7EgGixVULT9C510U9ofMltJZE6nP1RrRw6ZGvWWb97JjGSJxB7Na3kokBjEbyBg8TFVOaRMVJZz9X-akoSaeY5-LqLp8PBEA_PzF2V6XwWsNkbYC0hcBY0Zl1V5xqKWDSTTWQJfpw/s1600/Snap19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoO7EgGixVULT9C510U9ofMltJZE6nP1RrRw6ZGvWWb97JjGSJxB7Na3kokBjEbyBg8TFVOaRMVJZz9X-akoSaeY5-LqLp8PBEA_PzF2V6XwWsNkbYC0hcBY0Zl1V5xqKWDSTTWQJfpw/s1600/Snap19.png" height="318" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Damit können jetzt die ersten Business Phrases erstellt werden. Diese sind die umgangsprachlichen Bausteine für die Verbal Rules. Als erstes wird eine Test Phrase namens 'Discount is valid' angelegt. Das Mapping wird dann wie abgebildet erstellt, so dass ein gültiger Rabatt abgebildet wird.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwHUnmFnb05O0bwy9zDiYwbSZHMO-dVVHC27s0Cr-_-GeN4VqwZIFoA17cKGr5uvNmrvI9f62H-re6cVdaobWje0GZDB4xJQlwSdjgLVifsnHG7-AeK2i1kNdAhyphenhyphenAkERcw_LXR2myX1w/s1600/Snap20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwHUnmFnb05O0bwy9zDiYwbSZHMO-dVVHC27s0Cr-_-GeN4VqwZIFoA17cKGr5uvNmrvI9f62H-re6cVdaobWje0GZDB4xJQlwSdjgLVifsnHG7-AeK2i1kNdAhyphenhyphenAkERcw_LXR2myX1w/s1600/Snap20.png" height="419" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Entsprechend wird noch eine zweite Test Phrase benötigt, die genau auf das Gegenteil testet, also einen Nachlass der niedriger als der Mindest- oder höher als der Maximalwert ist.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJR4pwU60uKyKoAUnr2HmZ8hDXL2XkHzCt0JmZvyeRQDb51kCE5-60yQ5ZooiL1obqYoEEMUTcu4Y5megIPu4NqgAso_5FR0fIc-SHMaBCTTvGYm8Zspvh_pOjscPpYkSmr5Dq5xJ9Vw/s1600/Snap33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJR4pwU60uKyKoAUnr2HmZ8hDXL2XkHzCt0JmZvyeRQDb51kCE5-60yQ5ZooiL1obqYoEEMUTcu4Y5megIPu4NqgAso_5FR0fIc-SHMaBCTTvGYm8Zspvh_pOjscPpYkSmr5Dq5xJ9Vw/s1600/Snap33.png" height="355" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Zusätzlich werden noch zwei Action Phrases benötigt. Create Approval erstellt mittels assert ein neues Approval mit dem Text "APPROVED"</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX9-1ksIM4_Z9HWumY484MehtYKmUOf0uxEz4Sd4XYrTz-i3mWKQBAvW4ryYetTjcBxNwDY6fk9axkkszypCooNbH0bq82PRIaGYxL_E34n_pJ4v4VpWtGNwO7ZH4pcU20D8_gudpD2A/s1600/Snap34.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX9-1ksIM4_Z9HWumY484MehtYKmUOf0uxEz4Sd4XYrTz-i3mWKQBAvW4ryYetTjcBxNwDY6fk9axkkszypCooNbH0bq82PRIaGYxL_E34n_pJ4v4VpWtGNwO7ZH4pcU20D8_gudpD2A/s1600/Snap34.png" height="353" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Analog dazu wird die Action Phrase Disapprove mit dem String "DISAPPROVED" erstellt.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs1Iw5n6TnErLSzTXdQMkf2SZWTfrRt49lH_Gr1iin8MsfB8xPqbqMcrnau4EXTLf1lpGdiFeAO2luyBiBG-vSEtjRRpVEIxCuY8Br_Zl4MpLbdFvvzhW2SycjdQSbkk_PGuf8jkRcQA/s1600/Snap23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs1Iw5n6TnErLSzTXdQMkf2SZWTfrRt49lH_Gr1iin8MsfB8xPqbqMcrnau4EXTLf1lpGdiFeAO2luyBiBG-vSEtjRRpVEIxCuY8Br_Zl4MpLbdFvvzhW2SycjdQSbkk_PGuf8jkRcQA/s1600/Snap23.png" height="302" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Die Verbal Rules lassen sich auch mehrsprachlich nutzen. Dazu wird zunächst auf dem Reiter Translations ein neues Resource Bundle für Deutsch erstellt.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKVGPFchcqTPAWKVEu4W2P_F86bFgnJjrM6N_W20yhpvMVKC3KiNj6hP9m1deV7nt9i7cwJMf6fqDk7Js6X3fMSEbAS0COcgA2wjbjg7lluyEQnwbhd8dgpgh-vNyyL1Up9eWV2PygHA/s1600/Snap24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKVGPFchcqTPAWKVEu4W2P_F86bFgnJjrM6N_W20yhpvMVKC3KiNj6hP9m1deV7nt9i7cwJMf6fqDk7Js6X3fMSEbAS0COcgA2wjbjg7lluyEQnwbhd8dgpgh-vNyyL1Up9eWV2PygHA/s1600/Snap24.png" height="299" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Danach können hier dann passende Übersetzungen eingetragen werden.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRJbK83wTp48t3l50EdJcgFYBtsuI9hTmID8ChUHVNfylkonElCR-meV1yhtmYQ8gVvh_BBeyCctZbhAsRGm600RNHrinTIhRVwJgHwK01G_IC6B_zoTr-s0sQxczGdSLGEzZXYpgi-Q/s1600/Snap25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRJbK83wTp48t3l50EdJcgFYBtsuI9hTmID8ChUHVNfylkonElCR-meV1yhtmYQ8gVvh_BBeyCctZbhAsRGm600RNHrinTIhRVwJgHwK01G_IC6B_zoTr-s0sQxczGdSLGEzZXYpgi-Q/s1600/Snap25.png" height="290" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Jetzt sind alle Bausteine komplett und die Verbal Rules können erstellt werden. Hierzu geht es weiter auf dem jeweiligen Ruleset unter dem Reiter Verbal Rules. Die Regeln können hier aus den Test- und Action-Phrases zusammengestellt werden.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIaj3d4LI3JT5pWmaWb-h78IndGRQuQFELukd_bb9N1fzXPEYRdR0iemYssMFXex3alLdIXJpqm8Bx5pV7q-3wWrFHI-jmVXKj6XwEYs847yaa-eH8Ajqt1jFGJxAwX8r3t-e0LIkrxQ/s1600/Snap26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIaj3d4LI3JT5pWmaWb-h78IndGRQuQFELukd_bb9N1fzXPEYRdR0iemYssMFXex3alLdIXJpqm8Bx5pV7q-3wWrFHI-jmVXKj6XwEYs847yaa-eH8Ajqt1jFGJxAwX8r3t-e0LIkrxQ/s1600/Snap26.png" height="139" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Neben dem Bottom-Up Ansatz, bei dem erst wie oben alle Komponenten erstellt werden um daraus die Verbal Rules zu erstellen, ist auch ein Top-Down Ansatz möglich. Hier werden die Verbal Rules einfach frei definiert, die entsprechenden Phrases erstellt der JDeveloper im Hintergrund.</div>
<div class="separator" style="clear: both; text-align: left;">
Somit könnte zunächst ein fachlicher Anwender die Regeln umgangsprachlich formulieren, und erst später werden diese von einem Entwickler auf die Technik abgebildet. Und bis das geschehen ist, befindet sich die Verbal Rule im Zustand Draft.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSF0Iw_LAdrTB6jjlLqQjcNaBfeWbT6Eupozbh9t1A8bRh2jP4NOBtSgMAB8RrHNdoWJIDnPy6xPPUfxbhyVBFdarGFqL5Lu58wkbkCK-IGEQOQIdYk8grAbTlMI0NkqpUYWa4LLuQPw/s1600/Snap27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSF0Iw_LAdrTB6jjlLqQjcNaBfeWbT6Eupozbh9t1A8bRh2jP4NOBtSgMAB8RrHNdoWJIDnPy6xPPUfxbhyVBFdarGFqL5Lu58wkbkCK-IGEQOQIdYk8grAbTlMI0NkqpUYWa4LLuQPw/s1600/Snap27.png" height="353" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Bei den Business Phrases werden dann auch die automatisch angelegten Phrases angezeigt. Auch diese sind bis zur Ausformulierung im Status Draft.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGl_YVU3I1gYsS5bAml7pMd-x2VPkkzcQk9gjlVNhez1fH1c8FQqklmHJzX3eJ-E1EGVNUJmn5E3dgT2orCvYSRGWhWF4H0pZ9_NY6x1Q5RJ3sWg0PmKfxHoWcnUL_00T-ponYS7DfqA/s1600/Snap28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGl_YVU3I1gYsS5bAml7pMd-x2VPkkzcQk9gjlVNhez1fH1c8FQqklmHJzX3eJ-E1EGVNUJmn5E3dgT2orCvYSRGWhWF4H0pZ9_NY6x1Q5RJ3sWg0PmKfxHoWcnUL_00T-ponYS7DfqA/s1600/Snap28.png" height="304" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Um die neu angelegten Regeln zu testen, wird eine neue Test Suite auf dem Reiter Test erzeugt.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHVj0ntqNdXJDwKW6xatlEhwYEwaWjwSfxZaM9SX1qdiGA0AOnN88et0_FvEybgqvuB9tx9nZSalaslD7AjyYd6ZtRmq7IMdMrS8SZYjMtV7nyXxDcfwBMdTUpWJtlD_pr-61CoedXCA/s1600/Snap29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHVj0ntqNdXJDwKW6xatlEhwYEwaWjwSfxZaM9SX1qdiGA0AOnN88et0_FvEybgqvuB9tx9nZSalaslD7AjyYd6ZtRmq7IMdMrS8SZYjMtV7nyXxDcfwBMdTUpWJtlD_pr-61CoedXCA/s1600/Snap29.png" height="352" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In der Testsuite werden zwei Testfälle über das grüne Plus (+) angelegt.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFa9xOhozTGTdRNt7y8-RCi1KJyPSNtDSXGqU2hl4ml9JAi27SNouch2wHoczRvdHu0RVDodcg6iPZ0W66D1bsazTFHm2x7_9uSeGyfoCCyjhPobiZlpX2pnR8sdFJBIkpd-buu2-ZxQ/s1600/Snap38.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFa9xOhozTGTdRNt7y8-RCi1KJyPSNtDSXGqU2hl4ml9JAi27SNouch2wHoczRvdHu0RVDodcg6iPZ0W66D1bsazTFHm2x7_9uSeGyfoCCyjhPobiZlpX2pnR8sdFJBIkpd-buu2-ZxQ/s1600/Snap38.png" height="350" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Der erste Test 'Approve correct discount' testet z.B. auf einen Discount von 5 und erwartet das Ergebnis "Approved".</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT6xgf176eklPhn4Pufo6cDvE1Z5rxBA53P6lbEQ8L3iad6RclVdyXVrHKxZ3m8SmHUgEritDa-BwSFL4Odu7N7F_4pCMFabrDUKLlteTKENWiyj-uCX6hhoI2ZtWkmtFwAWXiUHEUrg/s1600/Snap39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT6xgf176eklPhn4Pufo6cDvE1Z5rxBA53P6lbEQ8L3iad6RclVdyXVrHKxZ3m8SmHUgEritDa-BwSFL4Odu7N7F_4pCMFabrDUKLlteTKENWiyj-uCX6hhoI2ZtWkmtFwAWXiUHEUrg/s1600/Snap39.png" height="352" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Nach dem gleichen Schema wird ein zweiter Test erstellt, der für einen zu hohen Discount auf das Ergebnis "DISAPPROVED" testet.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh21Cr6FLsyjsoDHxERNQ-62JyFtyhrDOLGbR13NAdSzl-YcNhhQZDL5k__vZE7ofln4koMrnw-crrxpVg4OuCPIn1oUS0QM29WkDW_EM-bSbz1Ry6zMMrftBThATXuxoLyJX2VVfuNww/s1600/Snap40.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh21Cr6FLsyjsoDHxERNQ-62JyFtyhrDOLGbR13NAdSzl-YcNhhQZDL5k__vZE7ofln4koMrnw-crrxpVg4OuCPIn1oUS0QM29WkDW_EM-bSbz1Ry6zMMrftBThATXuxoLyJX2VVfuNww/s1600/Snap40.png" height="166" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Dann geht es wieder hoch auf Ebene der Test Suites, am schnellsten per Combobox 'Test Component'. Hier wird der Test mit dem grünen Pfeil gestartet.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXlA56pIiycEWG5NiEiyBZdLpvxG579zPtkWNSRpOTYzre5WTTB_2rrV6Jz2ScRX9Jl4dmNuytvw2n0Y6dFfIXZpuZ0aEmHHhyphenhyphenjGiR2Rd2jgpfgn1IagyHRHDee7A97EdmbfAL1bZbeQ/s1600/Snap41.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXlA56pIiycEWG5NiEiyBZdLpvxG579zPtkWNSRpOTYzre5WTTB_2rrV6Jz2ScRX9Jl4dmNuytvw2n0Y6dFfIXZpuZ0aEmHHhyphenhyphenjGiR2Rd2jgpfgn1IagyHRHDee7A97EdmbfAL1bZbeQ/s1600/Snap41.png" height="252" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Wenn bis hier nichts schiefgelaufen ist, sollten die beiden Tests durchlaufen.</div>
<div class="separator" style="clear: both; text-align: left;">
Somit wurde aus BPM die Business Rules Engine aufgerufen, es wurden Verbal Rules definiert und diese wurden auf korrekte Funktion getestet.</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-60040474441433179382014-10-17T09:22:00.002-07:002014-10-17T09:31:28.815-07:00SOA-Suite 12c: inbound REST Adapter konfigurierenSeit dem Release 12c bietet die Oracle SOA Suite auch Adapter für REST-Services an. Dieses Tutorial zeigt, wie man einen inbound REST Adapter für XML und JSON Payload konfiguriert.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLw5IwHcnkaHhWfEIhn1egfT0j2YW_grQHQ16ci9KYyE6htNl-kBD9eElBUGBWN-V4jGkq99SBMnkBCnzaVp9LUAItww5fTNOzENQ8m2xXTvF-u9dQKHuLT15G8UlQ6nH1og3NPWLXyw/s1600/Snap1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLw5IwHcnkaHhWfEIhn1egfT0j2YW_grQHQ16ci9KYyE6htNl-kBD9eElBUGBWN-V4jGkq99SBMnkBCnzaVp9LUAItww5fTNOzENQ8m2xXTvF-u9dQKHuLT15G8UlQ6nH1og3NPWLXyw/s1600/Snap1.png" height="166" width="200" /></a></div>
<br />
In diesem Beispiel geht es los mit einer neuen SOA Application, Option 'Empty Composite' auswählen.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5DhOHFhtnQIyG5e5o3_imzwviM3fhZwT4RmXwUa-GB2oDQ7-7Iag9ghQc8aN7m3d_Ot5q3NgCRYu2uJRf_1qrPOI8zhj-HyD88dXW5ZyqF4oJLqRXNSrOjI9EnuRuiEcKgo1LifzE4g/s1600/Snap6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5DhOHFhtnQIyG5e5o3_imzwviM3fhZwT4RmXwUa-GB2oDQ7-7Iag9ghQc8aN7m3d_Ot5q3NgCRYu2uJRf_1qrPOI8zhj-HyD88dXW5ZyqF4oJLqRXNSrOjI9EnuRuiEcKgo1LifzE4g/s1600/Snap6.png" height="320" width="216" /></a></div>
<br />
Im Composite wird auf der linken Seite bei den Exposed Services ein neuer REST-Adapter angelegt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi87i3RVEsQi1pwITVrwlGenss7jD1v1vTAcJ4oyxBel66xm1A94nq_7XfO7of6RteKiEyvpCCtHMhWvPxEqYgXmXkNF-MFTMenps9zP8b0fi3S4TcRR8L4SuxDKwLU3TMi7W2LivR_LA/s1600/Snap8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi87i3RVEsQi1pwITVrwlGenss7jD1v1vTAcJ4oyxBel66xm1A94nq_7XfO7of6RteKiEyvpCCtHMhWvPxEqYgXmXkNF-MFTMenps9zP8b0fi3S4TcRR8L4SuxDKwLU3TMi7W2LivR_LA/s1600/Snap8.png" height="316" width="400" /></a></div>
<br />
REST-typisch kann man hier einen Resource-Path (NOUN) definieren, dieses einfache Beispiel funktioniert aber auch ohne. Dann muss mindestens eine HTTP-Operation gebunden werden, was über das grüne Plus (+) unter 'Operation Bindings' erfolgt. Die beiden unteren Optionen sind vorgefertigte Schablonen, die aber auch weniger Einstellmöglichkeiten bieten. Deswegen geht es hier weiter mit dem ersten Punkt 'Add operations binding'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2ldF1AjgKWKBkGXFWc8PZZ5ck1N_cF7_Cto7qEYRrNHZSLdCwgmKRWe6Vfm1utExKud8YPTZAd1Q9KKA5F09LNF1WkGBzvFwVd7opFbL7hu-xP26G7f04W7wbxR3_H-MwYKyIlqIQIQ/s1600/Snap3b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2ldF1AjgKWKBkGXFWc8PZZ5ck1N_cF7_Cto7qEYRrNHZSLdCwgmKRWe6Vfm1utExKud8YPTZAd1Q9KKA5F09LNF1WkGBzvFwVd7opFbL7hu-xP26G7f04W7wbxR3_H-MwYKyIlqIQIQ/s1600/Snap3b.png" height="524" width="640" /></a></div>
<br />
Als Payload am besten JSON und XML, als HTTP Verb für dieses Beispiel POST auswählen. Dann zum Definieren des XML-Schemas das Zahnrad 'Define Schema for Native Format' anklicken.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyxXyFdvHdFulpJqUJjrx1TFjwbfXJQGjySRNrvP-LGdpj-Co2RMqEm5rKeUBN8CQK47LX_QRtWqFDh51GvH-SpS7dzRDNEpsprRw7HlvIuZSds_jSGL2kOWBPdQvbsFSuAI_VtSiIdQ/s1600/Snap10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyxXyFdvHdFulpJqUJjrx1TFjwbfXJQGjySRNrvP-LGdpj-Co2RMqEm5rKeUBN8CQK47LX_QRtWqFDh51GvH-SpS7dzRDNEpsprRw7HlvIuZSds_jSGL2kOWBPdQvbsFSuAI_VtSiIdQ/s1600/Snap10.png" height="239" width="320" /></a><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Den Native Format Builder durchklicken mit 'Next' ...</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyxXyFdvHdFulpJqUJjrx1TFjwbfXJQGjySRNrvP-LGdpj-Co2RMqEm5rKeUBN8CQK47LX_QRtWqFDh51GvH-SpS7dzRDNEpsprRw7HlvIuZSds_jSGL2kOWBPdQvbsFSuAI_VtSiIdQ/s1600/Snap10.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN09ny1kkAjK5M17JyKaS8PjnsUMH86jv4H_Fs0XGQzPLIMG50fzLMtxWuPwCqW7zKENlWoIEkKhIPuxQb46Y97wRJZPiBR6nbFqPINT_MYS7PFRTtYFm5bf7nWhYS8mArTcrHu5SnPA/s1600/Snap12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN09ny1kkAjK5M17JyKaS8PjnsUMH86jv4H_Fs0XGQzPLIMG50fzLMtxWuPwCqW7zKENlWoIEkKhIPuxQb46Y97wRJZPiBR6nbFqPINT_MYS7PFRTtYFm5bf7nWhYS8mArTcrHu5SnPA/s1600/Snap12.png" height="228" width="320" /></a></div>
<div class="" style="clear: both; text-align: left;">
<br /></div>
<div class="" style="clear: both; text-align: left;">
... und 'Next' ... </div>
<div class="" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibnWwW_3rm2uCt2BA-8OpcKgICwsrvLkJLdvEK5Hwamhxwp8czA0d1Ck3t3xs3TUxI8hEgeoB8U5og0XUp0hyphenhyphenZ3MFAANRjO3Df22z1T5SSqKyH13ZrO2o5i1EEmz5qaFR_CZfyZ3OTVg/s1600/Snap11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibnWwW_3rm2uCt2BA-8OpcKgICwsrvLkJLdvEK5Hwamhxwp8czA0d1Ck3t3xs3TUxI8hEgeoB8U5og0XUp0hyphenhyphenZ3MFAANRjO3Df22z1T5SSqKyH13ZrO2o5i1EEmz5qaFR_CZfyZ3OTVg/s1600/Snap11.png" height="228" width="320" /></a></div>
<div class="" style="clear: both; text-align: left;">
<br /></div>
<div class="" style="clear: both; text-align: left;">
... und 'Next' ... </div>
<div class="" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqR6N1snbGgosDlOrxVXSxM-zJ24-rcr_ySt39zLITPwCFkrowaV5XtyrdBoEjwwxAuwpf3Ii76Svb7Yj_Ace1zI5kioBBAwS5G6b49QhfpxG9Bi3KZ36C7KxUGG1qEs83Fx94PGqlCA/s1600/Snap13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqR6N1snbGgosDlOrxVXSxM-zJ24-rcr_ySt39zLITPwCFkrowaV5XtyrdBoEjwwxAuwpf3Ii76Svb7Yj_Ace1zI5kioBBAwS5G6b49QhfpxG9Bi3KZ36C7KxUGG1qEs83Fx94PGqlCA/s1600/Snap13.png" height="285" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
... bis zu dieser Stelle, wo man eine JSON-Beispieldatei vorgeben kann. Sofern vorhanden, kann man diese via 'Browse' laden oder im Freitextfeld unten einfach eingeben, z.B.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">{</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Event" : "asdf",</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Payload" : "dfgh"</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">}</span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFZuxx0J3nSU5PfQQtVarYnTi5OgrXzIQg7U5Ipm9Uz3iQ-NkP8-0w52mYMqz_R07TQ73g2tJk57eb9NkdwfpAdtUFA8-JPAcuH8k38hKrpiHgdL6L3dMbb3mY6sli1TFDV5bqU6iQHA/s1600/Snap14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFZuxx0J3nSU5PfQQtVarYnTi5OgrXzIQg7U5Ipm9Uz3iQ-NkP8-0w52mYMqz_R07TQ73g2tJk57eb9NkdwfpAdtUFA8-JPAcuH8k38hKrpiHgdL6L3dMbb3mY6sli1TFDV5bqU6iQHA/s1600/Snap14.png" height="285" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Der JDeveloper liefert einem dafür ein fertiges Schema, das im folgenden verwendet werden kann. Den Wizard dann mit 'Next', 'Finish' bis zu Ende durchklicken.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS-Ptzkio-KmHm9_eOHDWAJujbZsAEfTcqbK4bNmjmFrTo632hpBys9yYHC8zYSexQVv8x9DhvDD5dw8wPrxKa_p6tSFnygUUKpPp8BVYJpFlpvWO5UblU_dznEAKvUZISlTfx08opzA/s1600/Snap4b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS-Ptzkio-KmHm9_eOHDWAJujbZsAEfTcqbK4bNmjmFrTo632hpBys9yYHC8zYSexQVv8x9DhvDD5dw8wPrxKa_p6tSFnygUUKpPp8BVYJpFlpvWO5UblU_dznEAKvUZISlTfx08opzA/s1600/Snap4b.png" height="397" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Für eine POST-Operation nicht unbedingt notwendig, aber zum Testen praktisch kann für die Rückgabe ebenfalls XML und REST Payload angekreuzt werden. Das eben erzeugte Schema kann mit der Lupe neben 'Schema URL' ausgewählt werden.</div>
<div class="separator" style="clear: both; text-align: left;">
Dann beide Dialoge mit 'OK' schliessen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTkgfZT9gxk3HvqaJuBfJC6o9A4uU6jYQzc8K0Fq1KarBqJVOVj__VM8c3w5VotQ-3QQnUqmaaoWCg5hNcMprW84gMXXrYbAqBvgvzBEo8z5QIAdC4HuDAIixtnu2LT23hZj6FJmaYJQ/s1600/Snap18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTkgfZT9gxk3HvqaJuBfJC6o9A4uU6jYQzc8K0Fq1KarBqJVOVj__VM8c3w5VotQ-3QQnUqmaaoWCg5hNcMprW84gMXXrYbAqBvgvzBEo8z5QIAdC4HuDAIixtnu2LT23hZj6FJmaYJQ/s1600/Snap18.png" height="218" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Der REST Service ist damit angelegt. Als nächstes wird ein BPEL Prozess benöigt, z.B. via rechter Maustaste|Insert|BPEL Process.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6LkKJGo95sOwW_8PVFhu7PMLENXOORMvz7GWkHuaCDgMgj1QRzaQXPtbRazD8kSNMakehS1mbHMtBIMNkKsv7TaeBbsJp8IUw670qd-xPu2nNeVF-GdTQwN2rZ0LvYGccGrO44X8xtA/s1600/Snap20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6LkKJGo95sOwW_8PVFhu7PMLENXOORMvz7GWkHuaCDgMgj1QRzaQXPtbRazD8kSNMakehS1mbHMtBIMNkKsv7TaeBbsJp8IUw670qd-xPu2nNeVF-GdTQwN2rZ0LvYGccGrO44X8xtA/s1600/Snap20.png" height="320" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Im Create-Dialog den Prozess umstellen auf 'Synchronous BPEL Process' und den Haken bei 'Expose as a SOAP service' wegnehmen. Der Rest kann so bleiben, beenden mit 'OK'.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheTjiJ1jh6Q3-2eo2dy42_u7pkteZ0J-bJMbjCFutxnMJOFGxZ2ow4MG8BzkMIJ1IIJ1JA2XiwQYmVn21RhPGr7BSu8BY9_YrMb-tfcuGnoJjO8aq5zo2FCE_jAqTQbgpYHLzT5o5FdQ/s1600/Snap22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheTjiJ1jh6Q3-2eo2dy42_u7pkteZ0J-bJMbjCFutxnMJOFGxZ2ow4MG8BzkMIJ1IIJ1JA2XiwQYmVn21RhPGr7BSu8BY9_YrMb-tfcuGnoJjO8aq5zo2FCE_jAqTQbgpYHLzT5o5FdQ/s1600/Snap22.png" height="190" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6hNVHbUzdgUR1hoRvHaVP6cLcxmgYK4UvTDoTbrdfJi3eN2OVT1u2Nw7wTmOMNlnrZ1O4DoPYJ0gymqvqk2FWg-FsZd0x96aQ1H28tLJSiJnez5fYSCkif27xBriu3WoBQicx38cfOA/s1600/Snap23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6hNVHbUzdgUR1hoRvHaVP6cLcxmgYK4UvTDoTbrdfJi3eN2OVT1u2Nw7wTmOMNlnrZ1O4DoPYJ0gymqvqk2FWg-FsZd0x96aQ1H28tLJSiJnez5fYSCkif27xBriu3WoBQicx38cfOA/s1600/Snap23.png" height="111" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Das Interface vom BPEL-Process passt noch nicht zu unserem Service und muss entfernt werden. Dazu das Symbol vom Interface anklicken, so dass die der Kreis gestrichelt dargetstellt wird und die 'ENTF'-Taste drücken. Die beiden Nachfragen mit 'OK' wegklicken.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzcK_xtyP1g8BtD2IEpCBo0C4E18IoQ5DXrKnrdpC12bJuKC1LHgsHxocV5J-klEx-ZD8me8sK3-lHOO-t27yYqm3p1WQzTAqmoqXtGhl7z5kBgAIVmvBEtBNGNsyrloaOictUbBDzRQ/s1600/Snap26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzcK_xtyP1g8BtD2IEpCBo0C4E18IoQ5DXrKnrdpC12bJuKC1LHgsHxocV5J-klEx-ZD8me8sK3-lHOO-t27yYqm3p1WQzTAqmoqXtGhl7z5kBgAIVmvBEtBNGNsyrloaOictUbBDzRQ/s1600/Snap26.png" height="103" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiO_dNlNwP2OHdG3znYSAl-Zc25GlZYOA0pL9RZTb-YsXuDIWKUo91Lk7UtfMz8XmFEE3-4zPb82zEROYMvijDpbZVvBe2nX9qRBRvV_4Vh_fIzwlLYio1Jiv1Rgg1W2WjTnViHfW4aA/s1600/Snap27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiO_dNlNwP2OHdG3znYSAl-Zc25GlZYOA0pL9RZTb-YsXuDIWKUo91Lk7UtfMz8XmFEE3-4zPb82zEROYMvijDpbZVvBe2nX9qRBRvV_4Vh_fIzwlLYio1Jiv1Rgg1W2WjTnViHfW4aA/s1600/Snap27.png" height="96" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Jetzt kann der RestService mit mit BPEL-Process verbunden werden. Die Rückfrage nach der Transaction mit 'OK' bestätigen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgov3Bt3PF7Or1Z99vXIKcp18W4kMk3U4xhCqaVt77mwYbJkr_JOqHRQwORiis1mXdFQQRjBlhDWJS1aCdOAOc1GCcrP94M8XCrOmLX_pkPd-QUo7C1H8VJ_wPTqD4sP9D_CeKgw7CZOw/s1600/Snap24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgov3Bt3PF7Or1Z99vXIKcp18W4kMk3U4xhCqaVt77mwYbJkr_JOqHRQwORiis1mXdFQQRjBlhDWJS1aCdOAOc1GCcrP94M8XCrOmLX_pkPd-QUo7C1H8VJ_wPTqD4sP9D_CeKgw7CZOw/s1600/Snap24.png" height="320" width="192" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8wJ3zxRhvcyx23VKMmBjpxglKneafYbFrBLWNhOpUM1aHwa0JFrX0VKc1M7T7LQbanlpEM9cvSnl_jGIXB8bRRRg6PNAkidBsaDZbnRzSmAwSoAyAk6T-rz5cDgQENzRm4Lwd8AuizQ/s1600/Snap25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8wJ3zxRhvcyx23VKMmBjpxglKneafYbFrBLWNhOpUM1aHwa0JFrX0VKc1M7T7LQbanlpEM9cvSnl_jGIXB8bRRRg6PNAkidBsaDZbnRzSmAwSoAyAk6T-rz5cDgQENzRm4Lwd8AuizQ/s1600/Snap25.png" height="191" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Weiter geht es im BPEL Prozess. Die Ein- und Ausgabevariablen für das alte Interface sind immer noch vorhanden und können gelöscht werden.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvaoNZKR0wUFo7xrSxrJU6Oos4DJQvTNDMH3olc1ip6YT1eP-3P8Z66LwpwUG855MsonjwSyN24uFlKyMeDzygVgq6UGRiXUs3VwtSXm1uW8rNbHplwoy4RMTY-LGgP5tmtUKcBQ_oVA/s1600/Snap33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvaoNZKR0wUFo7xrSxrJU6Oos4DJQvTNDMH3olc1ip6YT1eP-3P8Z66LwpwUG855MsonjwSyN24uFlKyMeDzygVgq6UGRiXUs3VwtSXm1uW8rNbHplwoy4RMTY-LGgP5tmtUKcBQ_oVA/s1600/Snap33.png" height="353" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Dann umschalten auf die Source-Ansicht. Die Referenz auf die alte WSDL, die wir gerade gelöscht haben, muss noch entfernt werden. Dazu einfach die Zeile <import ui:processWSDL... löschen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgosY2iEJUdkV6xzE83_0-KIqbk8KrcuC52mw8qXtF2qZtUDgkTFPsY65JyGBf7rz0eQ12gU2_H0_MlPTCejC4q7lXrTtPrjUMfRub69UQ1z9Zj3sEKpyFf7Eo7IPjEvc_mWJbJL6bZDg/s1600/Snap28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgosY2iEJUdkV6xzE83_0-KIqbk8KrcuC52mw8qXtF2qZtUDgkTFPsY65JyGBf7rz0eQ12gU2_H0_MlPTCejC4q7lXrTtPrjUMfRub69UQ1z9Zj3sEKpyFf7Eo7IPjEvc_mWJbJL6bZDg/s1600/Snap28.png" height="217" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Alles vom alten Interface ist gelöscht, jetzt kann die receiveInput Activity mit dem RestService verbunden werden.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4Db0Dp_aFTdqfKzf3qEU5HmdU3n7_IMSKptcom8C_QLzqzTY4RNnQtnwoGBIV7mlptIOGoJvsd5fGPsx7ObZP2gNmgwSlFOKdhyphenhyphenRqV1OPRD2K-wqADafJ1ByOdDCc6kXqnozVnYArpg/s1600/Snap29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4Db0Dp_aFTdqfKzf3qEU5HmdU3n7_IMSKptcom8C_QLzqzTY4RNnQtnwoGBIV7mlptIOGoJvsd5fGPsx7ObZP2gNmgwSlFOKdhyphenhyphenRqV1OPRD2K-wqADafJ1ByOdDCc6kXqnozVnYArpg/s1600/Snap29.png" height="320" width="281" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Hier muss zunächst der Port Type auf den RestService umgestellt werden.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgARG-jDpQItjA3uAV2v0ee19T3vyvA2xukjisUjqj3kUs1U2JRVdspdRB5Ef5_qyFTIUi7D0spZvEd1LmMXtkaa49d_FMHUf2p8WoT-1kF6tfSY5Nh68e6pQGhlqlfWvJIq5rJ5yWoWA/s1600/Snap30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgARG-jDpQItjA3uAV2v0ee19T3vyvA2xukjisUjqj3kUs1U2JRVdspdRB5Ef5_qyFTIUi7D0spZvEd1LmMXtkaa49d_FMHUf2p8WoT-1kF6tfSY5Nh68e6pQGhlqlfWvJIq5rJ5yWoWA/s1600/Snap30.png" height="320" width="307" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwv75arKKplLuEIP_iUgUV_j0DocUeKCj4dN3PANIt3GrM5PBFrTYoMQQDXD04ez54dkwjCJkfxVGsZHxglx1lgSxvGMudhzzLjnUYNKCk_a0Y-5RGjOtcJblYX7WDpFmpj1BQMjHQlw/s1600/Snap31.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwv75arKKplLuEIP_iUgUV_j0DocUeKCj4dN3PANIt3GrM5PBFrTYoMQQDXD04ez54dkwjCJkfxVGsZHxglx1lgSxvGMudhzzLjnUYNKCk_a0Y-5RGjOtcJblYX7WDpFmpj1BQMjHQlw/s1600/Snap31.png" height="110" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Dann wird eine neue Eingangsvariable erzeugt. Im Create Variable Dialog einfach gleich OK klicken.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhav42jGMHKPht44B-ylv4d3j910brfjKVvU0MIqp-2Jsbzb23uis2o5dZKzXQU6P87L7iJwgt0I_lOo6RgTW2TYJ1R1919u0Xi1Stf4DMjfN11aJWOVBz4sDMin1tDxlZ5pFk9iwJHBA/s1600/Snap32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhav42jGMHKPht44B-ylv4d3j910brfjKVvU0MIqp-2Jsbzb23uis2o5dZKzXQU6P87L7iJwgt0I_lOo6RgTW2TYJ1R1919u0Xi1Stf4DMjfN11aJWOVBz4sDMin1tDxlZ5pFk9iwJHBA/s1600/Snap32.png" height="179" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Im nächsten Schritt wird dann die replyOutput Activity mit dem RestService verbunden und entsprechend wieder eine Variable angelegt.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMBww9F9AM5RnWy6CQAAhovbBR9pzHSsGFLuBLVojHX7G-cwBohRH0tUeF7_dQXVX9fd8-FOMBH6Rnnzyu70EGlBU0I-qy1ZZLi9JdP9eGgfIRf23LUornpiiHDT4RR4af3PMSg2ZYcw/s1600/Snap35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMBww9F9AM5RnWy6CQAAhovbBR9pzHSsGFLuBLVojHX7G-cwBohRH0tUeF7_dQXVX9fd8-FOMBH6Rnnzyu70EGlBU0I-qy1ZZLi9JdP9eGgfIRf23LUornpiiHDT4RR4af3PMSg2ZYcw/s1600/Snap35.png" height="352" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Damit der Prozess irgend etwas tut, wird noch ein File-Adapter angelegt, um die Nachrichten zu speichern.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7t9fyAAFRX1abElW-5ELjLOquA284iFDXBc2Evk53fgeltDeHnqxayVCc1M7qD34uSOrH4Frg9QHpvQx6QlupFKP7N821Y7GUwiyrHr1df9zomRdvq2n68VdRE59532APHQOzLp-NRw/s1600/Snap38.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7t9fyAAFRX1abElW-5ELjLOquA284iFDXBc2Evk53fgeltDeHnqxayVCc1M7qD34uSOrH4Frg9QHpvQx6QlupFKP7N821Y7GUwiyrHr1df9zomRdvq2n68VdRE59532APHQOzLp-NRw/s1600/Snap38.png" height="316" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Den Wizard mit Standardwerten durchklicken. Bei Operation 'Write File' auswählen, 'Add Output Header' kann man auch dazu nehmen um die Ausgabe etwas gesprächiger zu machen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdKA91NzW7Um8wCMY8Z6fas7DZw16pWEWIxoi-KPcxm2jEz5PS6c5p1MQROoNR5QaZlO4yMDRNZ88YKwcqGKgERx-V8Km7rtonC_ChGaqRrAY-1OnsYcWBgR0119U0LAxjAQGwn6w4QA/s1600/Snap39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdKA91NzW7Um8wCMY8Z6fas7DZw16pWEWIxoi-KPcxm2jEz5PS6c5p1MQROoNR5QaZlO4yMDRNZ88YKwcqGKgERx-V8Km7rtonC_ChGaqRrAY-1OnsYcWBgR0119U0LAxjAQGwn6w4QA/s1600/Snap39.png" height="316" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Dann ein Ausgabeverzeichnis und einen Dateinamen auswählen, dem Dateinamen eine Sequenz (%SEQ%) anhängen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0lj818YWWL2tQH9B6T2UAs9IL9oChsGXLlwanybMT0cQfO4QSAooyQNGzep6PRITLnOdqM1Tzpsf74Bo7NmHPFBpexkM3sJcwW444_7mg6o4rVoFUo_NYOpAnjHezoUWm5KQGEYfOgA/s1600/Snap40.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0lj818YWWL2tQH9B6T2UAs9IL9oChsGXLlwanybMT0cQfO4QSAooyQNGzep6PRITLnOdqM1Tzpsf74Bo7NmHPFBpexkM3sJcwW444_7mg6o4rVoFUo_NYOpAnjHezoUWm5KQGEYfOgA/s1600/Snap40.png" height="303" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyxHQAB8FBSRwhHc4USzdqOILC9wEUiblU4G70futlYnTDiooQFG02KIsi_EmcJYhkcU8ScDDNTRKybwPgibSoMegDp9w0-utNqhlDJolm0dlzJdFrEpLnPxvMlsL7HOcZ3AziBLLjpA/s1600/Snap41.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyxHQAB8FBSRwhHc4USzdqOILC9wEUiblU4G70futlYnTDiooQFG02KIsi_EmcJYhkcU8ScDDNTRKybwPgibSoMegDp9w0-utNqhlDJolm0dlzJdFrEpLnPxvMlsL7HOcZ3AziBLLjpA/s1600/Snap41.png" height="320" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Jetzt das Root-Element des eingangs erzeugten Schemas auswählen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQyRYmcpOoCxOTHCHS1e5EEatqCgi22LxPdlWXkCF3Wvy62tEgh8gJLCpgvJv9S2ia64P3cvDY9d8fFgKzWxQFoXB3oOTj_kE3K5P6Q-CwPWXfyMUeefHN0AT62GS-cawbiXFX_QtyMA/s1600/Snap42.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQyRYmcpOoCxOTHCHS1e5EEatqCgi22LxPdlWXkCF3Wvy62tEgh8gJLCpgvJv9S2ia64P3cvDY9d8fFgKzWxQFoXB3oOTj_kE3K5P6Q-CwPWXfyMUeefHN0AT62GS-cawbiXFX_QtyMA/s1600/Snap42.png" height="253" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Danach den Wizard bis zum Ende durchklicken.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb7POz9AEtRDW3xACnBTqqYYOMrCZDBks7hzdvushp1ZyzEvyhNsAIsvgFjtaalIFEg_3DVxa7V7PUZzVuCVIGrG-MQ-vCf0198PF18V-b8JNFEPLal_43BpR5SdRxp6gz2gaim3ZS2Q/s1600/Snap43.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb7POz9AEtRDW3xACnBTqqYYOMrCZDBks7hzdvushp1ZyzEvyhNsAIsvgFjtaalIFEg_3DVxa7V7PUZzVuCVIGrG-MQ-vCf0198PF18V-b8JNFEPLal_43BpR5SdRxp6gz2gaim3ZS2Q/s1600/Snap43.png" height="158" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Jetzt hinter receiveInput eine Invoke-Aktivität platzieren und mit dem fileOutput verbinden.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGExU5dCquJiz6-uHIbr3UFdaSwMy0FJK_pGjb4Uj48V1fg7_aY3AnvXGdiu4K6VlYrhq680TNOE-PWRS8mwmdTEjwEBJhlJIiDeQXthbdpZQvTNLh_d7AhMuoPvE-K5Lmw8YT9OdR-Q/s1600/Snap44.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGExU5dCquJiz6-uHIbr3UFdaSwMy0FJK_pGjb4Uj48V1fg7_aY3AnvXGdiu4K6VlYrhq680TNOE-PWRS8mwmdTEjwEBJhlJIiDeQXthbdpZQvTNLh_d7AhMuoPvE-K5Lmw8YT9OdR-Q/s1600/Snap44.png" height="360" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Die Input- und Output-Variable jeweils über das grüne Plus (+) erzeugen und den Dialog schließen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY47LgXCCMhEMkQxPhVkHh8Ansb0wY8N3RzS-qjakz0U0O3a32Z6zuWTYAgh1DiinVJoPQALktat0Q9ProoDX2M3U4bGS247_zfJccjv1L3KtJEsu44gVDoNmMGtXPl9bEEqy_ZfIGIw/s1600/Snap45.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY47LgXCCMhEMkQxPhVkHh8Ansb0wY8N3RzS-qjakz0U0O3a32Z6zuWTYAgh1DiinVJoPQALktat0Q9ProoDX2M3U4bGS247_zfJccjv1L3KtJEsu44gVDoNmMGtXPl9bEEqy_ZfIGIw/s1600/Snap45.png" height="188" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Vor der Invoke1-Aktivität eine Assign-Aktivität ablegen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif8jfeR_K3yp-z23PXWlpeSFT1bZLMT8fqtzXl7V-bg52tfhiVbNDvhrLQ4XG0OyLUZHvnIXC6hGCpQxIa3bsw0PV5HQIhx7v-utoScOF1KP6Mmdr9IRFdHowZ0zDA17XTWKRjl2bLzA/s1600/Snap46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif8jfeR_K3yp-z23PXWlpeSFT1bZLMT8fqtzXl7V-bg52tfhiVbNDvhrLQ4XG0OyLUZHvnIXC6hGCpQxIa3bsw0PV5HQIhx7v-utoScOF1KP6Mmdr9IRFdHowZ0zDA17XTWKRjl2bLzA/s1600/Snap46.png" height="300" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Das Assign öffnen und hier das Root-Element von receiveInput...InputVariable auf Invoke1_Write_InputVariable mappen.</div>
<div class="separator" style="clear: both; text-align: left;">
Für den Rückweg zwischen Invoke1 und ReplyOutput eine weitere Assign-Aktivität anlegen und entsprechend von Invoke1_Write_OutputVariable auf replyOutput_BpelOperation_OutputVariable mappen.</div>
<div class="separator" style="clear: both; text-align: left;">
Damit wäre das Beispiel fertig. Zum testen auf die SOA-Suite Instanz der Wahl deployen und das FMW Control öffnen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj9zJ-8P-yAcAoiKgdnMxhWI5yZHCoC30VrLDSMyOHh2NUv7UnkLmT14OVz5fQpGfMptiazsdJ5Du5ikN3ucxeQAwfVkfCN4ECWfuM20cuCpR0jhlNJgRA3hetepWGxZyKPRPYs0DHJw/s1600/Snap7b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj9zJ-8P-yAcAoiKgdnMxhWI5yZHCoC30VrLDSMyOHh2NUv7UnkLmT14OVz5fQpGfMptiazsdJ5Du5ikN3ucxeQAwfVkfCN4ECWfuM20cuCpR0jhlNJgRA3hetepWGxZyKPRPYs0DHJw/s1600/Snap7b.png" height="408" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Im FMW Control das Projekt auswählen und bei Test den entsprechenden Service auswählen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvzjeq95Gzj1wE_XgmWivJgEMeL857I4gUViu8jmc4rHmKZ0oEcZu8ShWRyGhgcjUlQnFzvQBPDl5ooqOM3nyouN_M5LoxfIGNIGVi2o-kCInIGwhilXe4J5wDsCMZSidZl-lWjbyw_A/s1600/Snap8a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvzjeq95Gzj1wE_XgmWivJgEMeL857I4gUViu8jmc4rHmKZ0oEcZu8ShWRyGhgcjUlQnFzvQBPDl5ooqOM3nyouN_M5LoxfIGNIGVi2o-kCInIGwhilXe4J5wDsCMZSidZl-lWjbyw_A/s1600/Snap8a.png" height="537" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Hier die beiden Media Types auf application/json umstellen. Den Request dann in der RAW View eingeben und starten.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkG3YrezTVhE3d_GD7Y6Tfs5G_du8Zt90eDEWMAsInLAwsfF6KMnvME9dQ0awNBLn-obA1YQP8-m_0gQkLyM1sUBUVITJcYQQmgmAT-bZ-a8sr6N7xdLJ4ccow3HWLAs4SQKcqNcO8RQ/s1600/Snap9b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkG3YrezTVhE3d_GD7Y6Tfs5G_du8Zt90eDEWMAsInLAwsfF6KMnvME9dQ0awNBLn-obA1YQP8-m_0gQkLyM1sUBUVITJcYQQmgmAT-bZ-a8sr6N7xdLJ4ccow3HWLAs4SQKcqNcO8RQ/s1600/Snap9b.png" height="152" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjthqrso0ylQZa2ahx5TTvORROdIQ7Wcj_xSkw0X1L7kisDdmzo4ck_Z8jul1hw5Wn53ZAJT6gJr47jvAJL6fkUw9R5iptPUlklB3B2Mc4Kbi5wKJygliwhEvShCNVry0n8AxWtUhMe1A/s1600/Snap10b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjthqrso0ylQZa2ahx5TTvORROdIQ7Wcj_xSkw0X1L7kisDdmzo4ck_Z8jul1hw5Wn53ZAJT6gJr47jvAJL6fkUw9R5iptPUlklB3B2Mc4Kbi5wKJygliwhEvShCNVry0n8AxWtUhMe1A/s1600/Snap10b.png" height="100" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Wenn bis hier alles geklappt hat, sollte als Response das Verzeichnis und der Dateiname des File Adapters zurück gegeben worden sein und die Nachricht in der Datei stehen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Beim Deployment erstellt die SOA-Suite automatisch eine passende WADL. Diese kann man z.B. von der Test-Seite oben kopieren um den Service auch im JDeveloper zu testen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQBG0gzkmGOzRZYqbt3M1WdrL5FEqyOkAcLpiTeAfa8Jbi-Hbwy5knIx8NRfnp-X_09Yg63Izo2qKvyAUMblgBSWwqWCaIB6UfZ3ziVQattnANxRgXW6reuT2zIRF5sNb3LFTcwQ8d4A/s1600/Snap11b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQBG0gzkmGOzRZYqbt3M1WdrL5FEqyOkAcLpiTeAfa8Jbi-Hbwy5knIx8NRfnp-X_09Yg63Izo2qKvyAUMblgBSWwqWCaIB6UfZ3ziVQattnANxRgXW6reuT2zIRF5sNb3LFTcwQ8d4A/s1600/Snap11b.png" height="112" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Dazu öffnet man den HTTP Analyzer via Tools/HTTP Analyzer und klickt auf das 'Open URL...' Symbol.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtFSGlv8k0ZG_gwon3KpHobMXwe-YBIFLug8rZMJ1f86oHDANBik2h-Rlw592JWUobjruMQSHszDAI_Qydj2au1reVMdiYO5wQxvWPKRP-GHlsLQtu3Wy_NunzSECHHRDuOXRxUeQ78A/s1600/Snap12b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtFSGlv8k0ZG_gwon3KpHobMXwe-YBIFLug8rZMJ1f86oHDANBik2h-Rlw592JWUobjruMQSHszDAI_Qydj2au1reVMdiYO5wQxvWPKRP-GHlsLQtu3Wy_NunzSECHHRDuOXRxUeQ78A/s1600/Snap12b.png" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Hier wird die eben kopierte WADL-URL reinkopiert, mit RETURN abschliessen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9AJ9v4REEyx6M6TuSeAkj3EiccDJp-PNTUNhwXHWCs3f8exKb2xo2pN56YP7RE3ulY0qKG1YKwO-oizRAXXLUTbq4QTtWO_xwGY_135ieytqaficoAJVUPsoqfhWlFWRT5PYaroBOww/s1600/Snap1c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9AJ9v4REEyx6M6TuSeAkj3EiccDJp-PNTUNhwXHWCs3f8exKb2xo2pN56YP7RE3ulY0qKG1YKwO-oizRAXXLUTbq4QTtWO_xwGY_135ieytqaficoAJVUPsoqfhWlFWRT5PYaroBOww/s1600/Snap1c.png" height="361" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Wenn der Service erkannt wird, kann der Test-Client über den Button 'Test' aufgerufen werden.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIagU6LQzwvAws2V7bmkJM45UvsUc3-EbVEnSt4b0wz7cq_hWvdIzXVS3L0jhHim34lgUznCUEFdqQtVNk4SD2kWqn1RjybFPGD-FLRk41CLGE7bOBuGwhVnDc05xc4KQmZ-paeGesMQ/s1600/Snap3c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIagU6LQzwvAws2V7bmkJM45UvsUc3-EbVEnSt4b0wz7cq_hWvdIzXVS3L0jhHim34lgUznCUEFdqQtVNk4SD2kWqn1RjybFPGD-FLRk41CLGE7bOBuGwhVnDc05xc4KQmZ-paeGesMQ/s1600/Snap3c.png" height="202" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Das Testformular des JDeveloper tut sich aktuell noch etwas schwer mit JSON, deswegen sollte hier als Content-Type application/xml genutzt werden. Per 'Send Request' wird dieser ausgeführt. Weil die Rückgabe jetzt auf 'fileName' und 'directory' geändert wurde, kann der JDeveloper das Ergebnis nicht parsen. Aber hätte ich das sauber umgesetzt, wäre das Beispiel unnötig kompliziert geworden.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiEigrJaNegdENRzmXpQu5jAu5qxfc-E2UfqwLRBhYrZ7al3wRKiESsc2MbOuGZ-TbCNekdml-cKTLq_as31SA8ygn_3qUFQo9_PuN-6-WxBbdxC26pQteDchSNPKFnm42KSHGzz1PXw/s1600/Snap4c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiEigrJaNegdENRzmXpQu5jAu5qxfc-E2UfqwLRBhYrZ7al3wRKiESsc2MbOuGZ-TbCNekdml-cKTLq_as31SA8ygn_3qUFQo9_PuN-6-WxBbdxC26pQteDchSNPKFnm42KSHGzz1PXw/s1600/Snap4c.png" height="212" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In der RAW-Darstellung sieht man aber, dass der Aufruf mit dem korrekten Ergebnis zurück kommt.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Wie das Beispiel zeigt, ist die REST/JSON-Umsetzung in JDeveloper und SOA-Suite 12c absulut benutzbar und es spricht nichts dagegen, diese in Zukunft in Projekten einzusetzen.</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-18943622365910046712014-05-20T08:21:00.000-07:002014-05-20T08:29:28.306-07:00Oracle Enterprise Pack for Eclipse konfigurieren für Oracle Event ProcessingLaut Dokumentation wird für als Entwicklungsumgebung für Oracle Event Processing (OCEP) ein Eclipse 3.7.2 benötigt. Nutzt man aber Eclipse mit weiteren Oracle Produkten, kann es Sinn machen hier statt dessen das <a href="http://www.oracle.com/technetwork/developer-tools/eclipse/overview/index.html" target="_blank">Oracle Enterprise Pack for Eclipse</a> (OEPE) zu nutzen. Wichtig ist hierbei aber, auf die richtige Versionsnummer zu achten, da die Plugins für OCEP noch nicht mit den neusten Eclipse Releases funktionieren. Das aktuell neuste OEPE auf Basis Eclipse Indigo 3.7.2 ist die Version 12.1.1.1.1, die es zum <a href="http://www.oracle.com/technetwork/developer-tools/eclipse/downloads/oepe-downloads-1861310.html" target="_blank">Download auf Oracle.com</a> gibt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPxRCztqnUCBa1u73XBxVH0SpuofikAOA5poX28L4n-5CYYh30uYvjC8V_QjfMa8dIhYHLklBOQA-BdzIK_dvs23sBx86RjRPKWB4HvkaB-r8lrNYT73s5q7hf-E62H0vJM_QUHsUIrw/s1600/Snap15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPxRCztqnUCBa1u73XBxVH0SpuofikAOA5poX28L4n-5CYYh30uYvjC8V_QjfMa8dIhYHLklBOQA-BdzIK_dvs23sBx86RjRPKWB4HvkaB-r8lrNYT73s5q7hf-E62H0vJM_QUHsUIrw/s1600/Snap15.png" height="640" width="585" /></a></div>
<br />
Hier ist es wichtig, die richtige Variante zu wählen. OEPE 12.1.1.1.1 gibt es auch in einer Eclipse 3.8 Juno Variante, die aber noch nicht mit OCEP genutzt werden kann. Daher wird das Indigo-Release für die jeweilige Plattform benötigt.<br />
Das enthaltene Zip-Archiv wird einfach in einen beliebige Ordner entpackt und über den Aufruf von eclipse.exe gestartet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnBeDv3TaRu88p1rhjwF9yjo2fR-Bkr2WsnRDx63QX_FolvDlbfgFJvD3-yPvqVwymFn2UnowxQI-IeqpFnDMvryz1BiSk1T8azig8gqw1GVpM7YEdIeq3jNjUUZuZ8kED1SHlcYqLlg/s1600/Snap17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnBeDv3TaRu88p1rhjwF9yjo2fR-Bkr2WsnRDx63QX_FolvDlbfgFJvD3-yPvqVwymFn2UnowxQI-IeqpFnDMvryz1BiSk1T8azig8gqw1GVpM7YEdIeq3jNjUUZuZ8kED1SHlcYqLlg/s1600/Snap17.png" height="207" width="320" /></a></div>
<br />
Auf dem Splash-Screen kann beim Start noch einmal überprüft werden, ob es sich tatsächlich um das Indigo-Release handelt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9QBNOHgf2-BUfmf8AqcygdWPT5uoq93yv4KjB-EzvtVt9iJaAQk7vOa0x7nQxxpXEJvCgCnG6R1cg-Dlx6U1WBe8SVU5w0dgGTedC9LKeHDsIbO0BWMTSOytTdJs719jGk6xiIcEKzA/s1600/Snap18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9QBNOHgf2-BUfmf8AqcygdWPT5uoq93yv4KjB-EzvtVt9iJaAQk7vOa0x7nQxxpXEJvCgCnG6R1cg-Dlx6U1WBe8SVU5w0dgGTedC9LKeHDsIbO0BWMTSOytTdJs719jGk6xiIcEKzA/s1600/Snap18.png" height="182" width="400" /></a></div>
<br />
Eclipse fragt beim ersten Start nach einem Verzeichnis für den Workspace, hier kann ein beliebiger Ordner gewählt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0jwdcfcoIAccvEMKFBmDnNVG4BtnWIppuPQWSSBu1VSeukJE6gARwCTFcVAZobjbPldLVBeHl5hYdpGMkunR89r-bxXB-346x19YMLB1AtgmUaa04Si6fwMKlk83QArtgWLbXAYg3Lw/s1600/Snap20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0jwdcfcoIAccvEMKFBmDnNVG4BtnWIppuPQWSSBu1VSeukJE6gARwCTFcVAZobjbPldLVBeHl5hYdpGMkunR89r-bxXB-346x19YMLB1AtgmUaa04Si6fwMKlk83QArtgWLbXAYg3Lw/s1600/Snap20.png" height="640" width="617" /></a></div>
<br />
OCEP benötigt noch ein JDK 1.6.x, dieses muss unter Window|Preferences|Java|Installed JRE's eingetragen werden. Falls kein JDK 1.6 auf dem System vorhanden ist, muss dieses installiert und hier eingetragen werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPqJhKO8TzAk2w5aemUE84ryV8oWf1MzUmxHsmRtxn6cq0x9mTN4SMN6u2M02Apt1M8iuxxrOLZ_-cC_sJh2XNTCjEqd8et3h3lbll64kRidXhPJg2iPA-Kkf5qS_KDHDnQ3hshA6hVQ/s1600/Snap21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPqJhKO8TzAk2w5aemUE84ryV8oWf1MzUmxHsmRtxn6cq0x9mTN4SMN6u2M02Apt1M8iuxxrOLZ_-cC_sJh2XNTCjEqd8et3h3lbll64kRidXhPJg2iPA-Kkf5qS_KDHDnQ3hshA6hVQ/s1600/Snap21.png" height="375" width="400" /></a></div>
<br />
Die Installation der OCEP-Erweiterungen startet unter Help|Install new Software. Die im Handbuch unter <a href="http://docs.oracle.com/cd/E28280_01/dev.1111/e14301/ide_intro.htm#CHDGBGGA" target="_blank">Kapitel 4.2</a> beschriebene OTA-Installation funktioniert nur bis Eclipse Version 3.6, so dass hier das mit dem OCEP-Server ausgelieferte Plugin installiert werden muss wie im <a href="http://docs.oracle.com/cd/E28280_01/dev.1111/e14301/ide_intro.htm#CHDBGFHF" target="_blank">Kapitel 4.3</a> beschrieben.<br />
Im Install-Dialog wird dann über 'Add' eine neue Quelle hinzugefügt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSpg_MKOOAvHfZ_n22bZZ59PSLmlWL30R4G92cqLJGtEFV11UPc5K3UGsh1zHPnBi0bhU7SENdCAWusA0moAWmlgljvhhS0h31qsMspPaYXutQ2ZyBCzYIZJHP_IDMChVuV5bI-b2BPw/s1600/Snap23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSpg_MKOOAvHfZ_n22bZZ59PSLmlWL30R4G92cqLJGtEFV11UPc5K3UGsh1zHPnBi0bhU7SENdCAWusA0moAWmlgljvhhS0h31qsMspPaYXutQ2ZyBCzYIZJHP_IDMChVuV5bI-b2BPw/s1600/Snap23.png" height="153" width="400" /></a></div>
<br />
In diesem Dialog wird daher keine URL angegeben sondern ein lokales Archiv über den 'Archive...'-Button ausgewählt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA0KNmA0-vXRSM-EqMojWwxP_UqgIYxunxIUQZwSRroLVrr3XivMwc6FKRzj4MgsG_XCzPFzPsJI45IrwJWMDLPFvp457eFNN36468R1qIhF5DU1BoQCoAk6xop2TKM2YvcF7TG7-6Bw/s1600/Snap24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA0KNmA0-vXRSM-EqMojWwxP_UqgIYxunxIUQZwSRroLVrr3XivMwc6FKRzj4MgsG_XCzPFzPsJI45IrwJWMDLPFvp457eFNN36468R1qIhF5DU1BoQCoAk6xop2TKM2YvcF7TG7-6Bw/s1600/Snap24.png" height="377" width="640" /></a></div>
<br />
Das Zip-Archiv mit dem Plugin befindet sich im Software-Verzeichnis des Servers unter ocep_11_1|eclipse-update-site. Die Installation des Servers ist beschrieben im vorherigen Eintrag '<a href="http://fmw-deutsch.blogspot.co.uk/2014/05/oracle-event-processing-installieren.html" target="_blank">Oracle Event Processing installieren unter Windows</a>'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuOtRJrNrkqaNlKZVBaBz0GkBmv6DhhkniM00e9ViupeaO3xkCC5wlxHMda_59htmFdVow4MCQdFtksN3QZR2VHUtt3QpnM8DWvLHpQ95leenx6i3oJSKQU_BMAyXq8p0ze4eAzW9Ctw/s1600/Snap25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuOtRJrNrkqaNlKZVBaBz0GkBmv6DhhkniM00e9ViupeaO3xkCC5wlxHMda_59htmFdVow4MCQdFtksN3QZR2VHUtt3QpnM8DWvLHpQ95leenx6i3oJSKQU_BMAyXq8p0ze4eAzW9Ctw/s1600/Snap25.png" height="153" width="400" /></a></div>
<br />
Weiter mit 'OK'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhICCB9z11C6JaMnnPkHgtyDiX9TtHiGLY2e0LfZF_GMM03TSzCEPEmkCKmZ53ez210iFsD4bkTR7m2XTYMeMojYmTDtW5XTRh0G8lcg7tdZzAiUHvkQQsyHXEIF8S5KITyEfprbJoOfw/s1600/Snap26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhICCB9z11C6JaMnnPkHgtyDiX9TtHiGLY2e0LfZF_GMM03TSzCEPEmkCKmZ53ez210iFsD4bkTR7m2XTYMeMojYmTDtW5XTRh0G8lcg7tdZzAiUHvkQQsyHXEIF8S5KITyEfprbJoOfw/s1600/Snap26.png" height="600" width="640" /></a></div>
<br />
Die 'Oracle Event Processing Tools for Eclipse 3.7' werden jetzt im Install-Dialog ausgewählt, weiter mit 'Next'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPkzEYP2oo_ulutA4jC0Kf89UNmsTrl18pfmed5W7rCYkkeO9NFLTur3F2TOfRP_yVNuJzHkVnJKCnPjFz4o4Bp9lB2z_ScHcUD2j6CSEZamNwSJ4QZEWEyC-GY6X41-C7AUpNSItpcA/s1600/Snap27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPkzEYP2oo_ulutA4jC0Kf89UNmsTrl18pfmed5W7rCYkkeO9NFLTur3F2TOfRP_yVNuJzHkVnJKCnPjFz4o4Bp9lB2z_ScHcUD2j6CSEZamNwSJ4QZEWEyC-GY6X41-C7AUpNSItpcA/s1600/Snap27.png" height="375" width="400" /></a></div>
<br />
-> Next<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMQYj72I71sss50ns7bJj69EhzlKPk3xhCchzXHuZqvYA2KxHcz-2-48hg2B4xRBBnRPmykH5WAuht8BfEEwWtD9OeGL9XitD4vQ4zRex3oSO9Kh-Z4elfxF7i_AWHjr4Cc82pv-IZRg/s1600/Snap28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMQYj72I71sss50ns7bJj69EhzlKPk3xhCchzXHuZqvYA2KxHcz-2-48hg2B4xRBBnRPmykH5WAuht8BfEEwWtD9OeGL9XitD4vQ4zRex3oSO9Kh-Z4elfxF7i_AWHjr4Cc82pv-IZRg/s1600/Snap28.png" height="375" width="400" /></a></div>
<br />
License Agreement annehmen und Next<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiob6SBhKNqBs9h0YdiQcXzBsfBJ-xHMFC02P7Wn7IGvhbqNb-8sE15AunOSnwdu4AQHP-o7oYs8wXskWiznxRrTKT2OgP_6K_Bsx_e6FriCUW3rF3vRvKQUR46BnXPEHUSs_yX5Q8DLg/s1600/Snap30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiob6SBhKNqBs9h0YdiQcXzBsfBJ-xHMFC02P7Wn7IGvhbqNb-8sE15AunOSnwdu4AQHP-o7oYs8wXskWiznxRrTKT2OgP_6K_Bsx_e6FriCUW3rF3vRvKQUR46BnXPEHUSs_yX5Q8DLg/s1600/Snap30.png" height="113" width="400" /></a></div>
<br />
Wenn die Aufforderung zum Restart kommt auf 'Restart Now' klicken.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggSezDjmURV9Ntrh8vuxlUCjbOEaiaJA-ns428GbFHqPneB8lfpQlFL_Rw_CsMDuvY8iLJ2Filzh-6QiqcleOTGNon101rSTiKti3oJaiqGk49fnwxKGg3b7XoF7hGMgqRPAxqfGKPWA/s1600/Snap32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggSezDjmURV9Ntrh8vuxlUCjbOEaiaJA-ns428GbFHqPneB8lfpQlFL_Rw_CsMDuvY8iLJ2Filzh-6QiqcleOTGNon101rSTiKti3oJaiqGk49fnwxKGg3b7XoF7hGMgqRPAxqfGKPWA/s1600/Snap32.png" height="206" width="400" /></a></div>
<br />
Nach dem Neustart den Dialog Help|About Eclipse Platform aufrufen. Dort sollte sich jetzt ein neues Symbol 'Oracle' befinden, welches per Mausklick weitere Informationen anzeigt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0pLNTT_uC44aQVdk7k53SzpOaqNdIvd8e2Cd5f0i_Tdj8GFzhJghOvlKIir-uFgl4iEMhDJxs8iaMDH-kfviA6BRe__HYfVTrXHBqOwkkW5zvLix20RWJMTqi62TNck34vBBhVdkhdA/s1600/Snap33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0pLNTT_uC44aQVdk7k53SzpOaqNdIvd8e2Cd5f0i_Tdj8GFzhJghOvlKIir-uFgl4iEMhDJxs8iaMDH-kfviA6BRe__HYfVTrXHBqOwkkW5zvLix20RWJMTqi62TNck34vBBhVdkhdA/s1600/Snap33.png" height="325" width="400" /></a></div>
<br />
Wenn bis hier alles gut gegangen ist, wird in diesem Dialog jetzt die Oracle Event Processing Tools Core angezeigt. Die Installation ist damit abgeschlossen und wird im folgenden mit einem kleinen Testprogramm überprüft.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivtPH37ClIwMH-SOg1EDhuMom1vi3iBvOYqEawamiZL9loHK2cOBkVDYyxcRmAs7CVQtq-2d1P3K39XuMKbsYfAzSRJlIQtX1_bu3vCRu96JeIf-5mKobV88rYPM7OsuvlewZUMjtB4Q/s1600/Snap34.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivtPH37ClIwMH-SOg1EDhuMom1vi3iBvOYqEawamiZL9loHK2cOBkVDYyxcRmAs7CVQtq-2d1P3K39XuMKbsYfAzSRJlIQtX1_bu3vCRu96JeIf-5mKobV88rYPM7OsuvlewZUMjtB4Q/s1600/Snap34.png" height="380" width="400" /></a></div>
<br />
Über File|New|Other kann unter 'Oracle Event Processing' das 'Oracle Event Processing Application Project' ausgewählt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLY71ze0QCvgLhF2WnoPBLmQIIbOvx56HYpL-KBsec66Wz18AfeCryWCIGrhcpSZgz74E19qoyEBgnhPorBxHy3-0OWa9UlmrppClGJnQB_O_Ci9T98eIt3aaO-TVVDYfQi6GUqflk-w/s1600/Snap35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLY71ze0QCvgLhF2WnoPBLmQIIbOvx56HYpL-KBsec66Wz18AfeCryWCIGrhcpSZgz74E19qoyEBgnhPorBxHy3-0OWa9UlmrppClGJnQB_O_Ci9T98eIt3aaO-TVVDYfQi6GUqflk-w/s1600/Snap35.png" height="355" width="400" /></a></div>
<br />
Die Anwendung benötigt einen Namen und eine Target Runtime. Der OCEP-Server ist zwar bereits installiert, unter Eclipse aber noch nicht bekannt und wird daher über den 'New...'-Button angelegt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoVhfYWflzyY1mOA8myi7Q5yEsR_iU5TzkENl4blbvAGwhwGFe-NWq5rOnd46rM-Pwk_pnP00vBAD2L44RCCzyeAaa30p_0nEAsRRhXNANjpV3d8h1bO2ERyzT1w5cbNK5Vz6BuudFBg/s1600/Snap36.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoVhfYWflzyY1mOA8myi7Q5yEsR_iU5TzkENl4blbvAGwhwGFe-NWq5rOnd46rM-Pwk_pnP00vBAD2L44RCCzyeAaa30p_0nEAsRRhXNANjpV3d8h1bO2ERyzT1w5cbNK5Vz6BuudFBg/s1600/Snap36.png" height="400" width="380" /></a></div>
<br />
Als Typ wird 'Oracle Event Processing v11.1' ausgewählt, weiter mit Next.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrEig4GnhXjIPAJ18Ah2DqGF_sN-ae-e7VGhicgCSNOzhDURfivE0qVeuspF_wglDQ19GEEtqENepBkx6Gtb4arQGkvi3JSLTgrGCl4c-bzlM8QKsZ4Zq-ugY-5tyAg_qyqysfGYPoCg/s1600/Snap37.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrEig4GnhXjIPAJ18Ah2DqGF_sN-ae-e7VGhicgCSNOzhDURfivE0qVeuspF_wglDQ19GEEtqENepBkx6Gtb4arQGkvi3JSLTgrGCl4c-bzlM8QKsZ4Zq-ugY-5tyAg_qyqysfGYPoCg/s1600/Snap37.png" height="400" width="380" /></a></div>
<br />
Das OCEP Home Directory suchen via 'Browse...'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmujlP8KHAHAtyH6YybOH9q_pjfhHFpukKu6Ct7xDjE77imvfk15kP7UnRlExOSYamt7OlBJKdDk_YkxDnQR7eTnm87tvSVoVq-q-HF7bjyfxwXKwBpebIFl8C4iiLhWnp0aBKIgHTyw/s1600/Snap38.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmujlP8KHAHAtyH6YybOH9q_pjfhHFpukKu6Ct7xDjE77imvfk15kP7UnRlExOSYamt7OlBJKdDk_YkxDnQR7eTnm87tvSVoVq-q-HF7bjyfxwXKwBpebIFl8C4iiLhWnp0aBKIgHTyw/s1600/Snap38.png" height="400" width="351" /></a></div>
<br />
Das Installationsverzeichnis von OCEP auswählen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv45t_gz6z0lkL9cjclp1HzU9dyfOR9awQRxNpGmDRM2Jvq3YiakvEpQqQ-c7ZI9ahY-TViGyr6DK-bYp4xg055C2aJy-gXopeZZEGGTLfulboyrL2Tx35VUqw_moPVMP29qGYkwa4-A/s1600/Snap39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv45t_gz6z0lkL9cjclp1HzU9dyfOR9awQRxNpGmDRM2Jvq3YiakvEpQqQ-c7ZI9ahY-TViGyr6DK-bYp4xg055C2aJy-gXopeZZEGGTLfulboyrL2Tx35VUqw_moPVMP29qGYkwa4-A/s1600/Snap39.png" height="400" width="380" /></a></div>
<br />
Das Verzeichnis wird übernommen, Abschliessen mit Finish.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRMryLM5S_3jb85EksKQPgXyqa8UOtFqtKi5LNtXvxQH7jbfq2XYFEj_qDunE8e1_-26jtu9wejYQJd3NApe0LPmqq9NjouBGaMkUWLXKYG0BFNfz40Ma2A5nyoBtFy70eI1F7kP1qmw/s1600/Snap40.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRMryLM5S_3jb85EksKQPgXyqa8UOtFqtKi5LNtXvxQH7jbfq2XYFEj_qDunE8e1_-26jtu9wejYQJd3NApe0LPmqq9NjouBGaMkUWLXKYG0BFNfz40Ma2A5nyoBtFy70eI1F7kP1qmw/s1600/Snap40.png" height="355" width="400" /></a></div>
<br />
Zurück im Projekt-Dialog ist die Target Runtime jetzt bekannt. Weiter mit Next.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOQW2naedGVzfC3CYu_5P_NTTW2NxzX2QxiByWOpdeN9WVXEW7qJFv8WG3dHGCn-sm3FLzuGDCBUnQgnmxxnFsrSvXxZcvtuHx_dc_g5HISHN_e82Z125Gd4FiI3lcJAIzMwr_E4xi3g/s1600/Snap42.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOQW2naedGVzfC3CYu_5P_NTTW2NxzX2QxiByWOpdeN9WVXEW7qJFv8WG3dHGCn-sm3FLzuGDCBUnQgnmxxnFsrSvXxZcvtuHx_dc_g5HISHN_e82Z125Gd4FiI3lcJAIzMwr_E4xi3g/s1600/Snap42.png" height="355" width="400" /></a></div>
<br />
Next<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjtdtKgkNPHIvVk042IvTk75_4mXVYt-soZBPppm_ad1gCiAXXStvPR0GDGoBg4KcdmI87Jx2UZEuZ2t60vUey5QFs48ByABPyrRunFYdCHAAzliAjFcvCQlWqZch-xoXKhXKAFsigTQ/s1600/Snap43.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjtdtKgkNPHIvVk042IvTk75_4mXVYt-soZBPppm_ad1gCiAXXStvPR0GDGoBg4KcdmI87Jx2UZEuZ2t60vUey5QFs48ByABPyrRunFYdCHAAzliAjFcvCQlWqZch-xoXKhXKAFsigTQ/s1600/Snap43.png" height="355" width="400" /></a></div>
<br />
Hier kann praktischerweise gleich ein Appication Template ausgewählt werden. 'Hello World' auswählen und abschliessen mit Finish.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih2VCf_-61CAlN_0V_Q1XSC62m-f3y8H_3lCa49W_mzKaruENyiGZz4zW7UXz11phIXKtvXcdsnznJmbqExilCTvpdzslWOGxtveMgr9VONTCWzvSnm1mE0k_rNigEaGSN0GVT_zlAgQ/s1600/Snap44.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih2VCf_-61CAlN_0V_Q1XSC62m-f3y8H_3lCa49W_mzKaruENyiGZz4zW7UXz11phIXKtvXcdsnznJmbqExilCTvpdzslWOGxtveMgr9VONTCWzvSnm1mE0k_rNigEaGSN0GVT_zlAgQ/s1600/Snap44.png" height="160" width="400" /></a></div>
<br />
Das Event Processing Network der Hello World Application wird dargestellt. Diese Anwendung soll im folgenden ausgeführt werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjriDqpzC6XCveVHqWwwnXjoAMy0z6DhHGiT8DPL5KVdU291Mm9SYhD-k3GoUIIZ7KjWB1HYdGn-wkV4eLlgI0kq6jO7iNgORqArahE5u_8MV76oBBqjA2sodg2vplWEoCmgsuFTJ4SQ/s1600/Snap45.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjriDqpzC6XCveVHqWwwnXjoAMy0z6DhHGiT8DPL5KVdU291Mm9SYhD-k3GoUIIZ7KjWB1HYdGn-wkV4eLlgI0kq6jO7iNgORqArahE5u_8MV76oBBqjA2sodg2vplWEoCmgsuFTJ4SQ/s1600/Snap45.png" height="400" width="283" /></a></div>
<br />
Hierzu muss die Serveransicht geöffnet werden. Nach einer Neuinstallation ist sie noch nicht direkt auswählbar und findet sich unter Window|Show View|Other.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPtk5iDEQM9vJ_2yaJ4fxUUGL65lZg7H_vHpt-ueXIrESg9nnruah8-Y9jbIJtPB_H4Aywo4EV737S9g9Aeklc0dM_9oUqpUOsgxb16w1WIQLJxjEv_rakGq-PVNK4vXn1uF-Sd85JpA/s1600/Snap46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPtk5iDEQM9vJ_2yaJ4fxUUGL65lZg7H_vHpt-ueXIrESg9nnruah8-Y9jbIJtPB_H4Aywo4EV737S9g9Aeklc0dM_9oUqpUOsgxb16w1WIQLJxjEv_rakGq-PVNK4vXn1uF-Sd85JpA/s1600/Snap46.png" height="180" width="640" /></a></div>
<br />
Die Servers-Ansicht wird geöffnet, allerdings sind noch keine Server bekannt. Daher auf den 'new server wizard'-Link klicken.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_JfxpiPJ41eVnwp2iz184EP2SPru48P3ZVGY9Ls4Euh-qEYyyAJ1togYXArVqGSycZeMYtkm8EGJj45IMonWInDNl4A4LACGGM3atlpux6iFY5-cH5xedxiQGF_Iz7ayzcZBwv2f7tQ/s1600/Snap48.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_JfxpiPJ41eVnwp2iz184EP2SPru48P3ZVGY9Ls4Euh-qEYyyAJ1togYXArVqGSycZeMYtkm8EGJj45IMonWInDNl4A4LACGGM3atlpux6iFY5-cH5xedxiQGF_Iz7ayzcZBwv2f7tQ/s1600/Snap48.png" height="352" width="400" /></a></div>
<br />
Oracle Event Processing v11.1 auswählen und beenden mit Finish.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEON2_FwHjRJ5T63oST72NdaQvb4oYG34RJtf4LedVH8iowJNoPKhrAO08LzxlCJZBNt0tKQsZ1B7hIddanWmu7vaoWiQyEBe53dVmdrS-94ALYBqC-2sw8TEDbPAPtrRhHBNjluxfXw/s1600/Snap49.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEON2_FwHjRJ5T63oST72NdaQvb4oYG34RJtf4LedVH8iowJNoPKhrAO08LzxlCJZBNt0tKQsZ1B7hIddanWmu7vaoWiQyEBe53dVmdrS-94ALYBqC-2sw8TEDbPAPtrRhHBNjluxfXw/s1600/Snap49.png" height="186" width="640" /></a></div>
<br />
Der Server ist jetzt bekannt und befindet sich noch im Zustand STOPPED.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWpEo9hLcWG3lxGiujJ09Nl2KFl6mqzLNOKI5faqetDq2Y14FFzkkU9KDLHOxa3_x836vt7OzHvGor6TjgwBw62uFISnK6Sz3n-uw_LlLV6k35htXh9JcjvWeWkV2Pajq1Vkinjnak-g/s1600/Snap50.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWpEo9hLcWG3lxGiujJ09Nl2KFl6mqzLNOKI5faqetDq2Y14FFzkkU9KDLHOxa3_x836vt7OzHvGor6TjgwBw62uFISnK6Sz3n-uw_LlLV6k35htXh9JcjvWeWkV2Pajq1Vkinjnak-g/s1600/Snap50.png" height="406" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Als nächstes muss die Hello World Anwendung auf den Server deployed werden. Hierzu Rechtsklick auf den Server und 'Add and Remove...' auswählen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT0Mm4kcLT80gLgTlycgt2cAvpNugUZf3nrizoBudNnDYnv1NgmtpQryA20euTeYgmabwIRjkGPKkzHxN4Ca4BfL20DN_RoCjuqWQl_Jyc-r42B7MqN_FfL3dKm2rL69QHt5mfxQ6oPA/s1600/Snap51.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT0Mm4kcLT80gLgTlycgt2cAvpNugUZf3nrizoBudNnDYnv1NgmtpQryA20euTeYgmabwIRjkGPKkzHxN4Ca4BfL20DN_RoCjuqWQl_Jyc-r42B7MqN_FfL3dKm2rL69QHt5mfxQ6oPA/s1600/Snap51.png" height="400" width="386" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Hier die HelloOEP-Anwendung von der linken auf die rechte Seite verschieben und beenden mit Finish.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTQrL-ju3s6QY4Sq0hCsuMPoKq2KaYvYLCoWsyJInpHpvawUayjN5KbfxxkZDQPbCbMI8bCWOf0dMd0ALHX2ZuFGeMuog_a-2SAjAOYgnVoQ4jUjZbNQhMQrxKpjXUUlXhYVngCkLaSQ/s1600/Snap52.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTQrL-ju3s6QY4Sq0hCsuMPoKq2KaYvYLCoWsyJInpHpvawUayjN5KbfxxkZDQPbCbMI8bCWOf0dMd0ALHX2ZuFGeMuog_a-2SAjAOYgnVoQ4jUjZbNQhMQrxKpjXUUlXhYVngCkLaSQ/s1600/Snap52.png" height="184" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Klickt man nun auf das Dreieck vor dem Server, wird angezeigt dass die HelloOEP-Anwendung auf dem Server deployed sein soll, dieser aber noch nicht läuft. Gestartet wird der Server über den Pfeil im grünen Kreis, oben rechts.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge0U2PqubGuZsyfyeTXdQR54dG1WioarBzoTKLf5UqDOFbhqijPlAxmA8rsxXzsvk2xBll1FeDnh3h5356LNGzTgCzT_v4HgLOBVcxZm3PeBs0WRna8Wc9M59ApPkijLk6AUwWTt9Vgg/s1600/Snap53.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge0U2PqubGuZsyfyeTXdQR54dG1WioarBzoTKLf5UqDOFbhqijPlAxmA8rsxXzsvk2xBll1FeDnh3h5356LNGzTgCzT_v4HgLOBVcxZm3PeBs0WRna8Wc9M59ApPkijLk6AUwWTt9Vgg/s1600/Snap53.png" height="188" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Nachdem der Server gestartet und die Anwendung deployed wurde, sollte diese jetzt starten und regelmässig ihre Ausgabe im Console-Fenster zeigen.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo_P2hcd5SGVAaoo8ikcnyH6UwduyhcvOY7gu83IUagwuPwIIz_SI0vpQcBEUIllYDV0KEwZn9hW-qeUdB7Jh0BFYcKg-c1wFBdVfZIUMellvB5bVChrgrStgHM-FJ3hcnO9yC9Satnw/s1600/Snap55.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo_P2hcd5SGVAaoo8ikcnyH6UwduyhcvOY7gu83IUagwuPwIIz_SI0vpQcBEUIllYDV0KEwZn9hW-qeUdB7Jh0BFYcKg-c1wFBdVfZIUMellvB5bVChrgrStgHM-FJ3hcnO9yC9Satnw/s1600/Snap55.png" height="146" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Dadurch, dass sich das Console-Fenster ständig aktualisiert, ist der Stop-Knopf für den Server nicht mehr zu erreichen. Dies lässt sich umgehen, indem man das Console-Fenster z.B. nach rechts in einen eigenen Bereich zieht.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Damit ist die Installation von OCEP Client und Server abgeschlossen.</div>
Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-32872957216445413972014-05-19T04:51:00.000-07:002014-05-20T06:25:29.190-07:00Oracle Event Processing installieren unter WindowsDas OEP Installationsmedium ist nur ein einzelnes Archiv, welches von Oracle.com heruntergeladen werden kann<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjd3kprghwmJYGcVHq9FsRmFcXOWcz7In-NublAffaOhKQSCkBktXF1uIFKxul6a_jpYN3e7Y93UsWZgJ-LxWJVRdzYE5xL1KWFIHZoUZ9qaEDz4AXTa6Zo6FAtyJThjQ3LeqvLFf0zw/s1600/Snap16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjd3kprghwmJYGcVHq9FsRmFcXOWcz7In-NublAffaOhKQSCkBktXF1uIFKxul6a_jpYN3e7Y93UsWZgJ-LxWJVRdzYE5xL1KWFIHZoUZ9qaEDz4AXTa6Zo6FAtyJThjQ3LeqvLFf0zw/s1600/Snap16.png" height="373" width="400" /></a></div>
<br />
In dem Archiv befindet sich eine einzelne ausführbare Datei, die zur Installation einfach gestartet werden muss. Die Installation beschränkt sich weitestgehend auf einfaches Durchklicken, deswegen hier die meistens Screenshots ohne Kommentar:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCEj2FVr2MPMt-mpM3VEBfLDYiM7jKj5B2UOp4l98wKHBLsGxEjOJU2zlNY05SZw5TOOmRd44uLSyNzh0HsQzdkivXIlyDR7vN9V9TSZg-t6vQLc14M_yPR2sX8ThTMey1cjc4CR3eSQ/s1600/Snap1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCEj2FVr2MPMt-mpM3VEBfLDYiM7jKj5B2UOp4l98wKHBLsGxEjOJU2zlNY05SZw5TOOmRd44uLSyNzh0HsQzdkivXIlyDR7vN9V9TSZg-t6vQLc14M_yPR2sX8ThTMey1cjc4CR3eSQ/s1600/Snap1.png" height="287" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq83Q5VV8EgYXh4msNwpYUf9L78IkJNk8JzhdtIlmhvwqfJ4J48FzSk4wYQ0TwM6vf7By2w6QoX7yf1eFULkqJDneWy7e75Emb1Md15wAlCEl2f6LHY2UMvlmI7P07wEgVlPfTYyFiyA/s1600/Snap2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq83Q5VV8EgYXh4msNwpYUf9L78IkJNk8JzhdtIlmhvwqfJ4J48FzSk4wYQ0TwM6vf7By2w6QoX7yf1eFULkqJDneWy7e75Emb1Md15wAlCEl2f6LHY2UMvlmI7P07wEgVlPfTYyFiyA/s1600/Snap2.png" height="287" width="400" /></a></div>
<br />
Hier das Zielverzeichnis angeben.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX4pl3qeHyXYLaJfCQ4jWSK7wfWc4_LX2qxwsqP-WT2EN_zyMIlBsvAqgT5OJusaQpsHvtqogx_Ow0my8UwFhxJAshr64N1RNveke8SakoHWH3mk9VMGYSX1uI-2-4aSAeUxtCAGANcg/s1600/Snap3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX4pl3qeHyXYLaJfCQ4jWSK7wfWc4_LX2qxwsqP-WT2EN_zyMIlBsvAqgT5OJusaQpsHvtqogx_Ow0my8UwFhxJAshr64N1RNveke8SakoHWH3mk9VMGYSX1uI-2-4aSAeUxtCAGANcg/s1600/Snap3.png" height="287" width="400" /></a></div>
<br />
Hier 'Custom' auswählen, damit auf der nächsten Seite die Installation der Beispiele ausgewählt werden kann.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgybIGUxYGGPQfEu3tV05Nmy3PLzyDD3-p7fIM14Ubwq-5t1HchyzK-n_OOT8ZGlzg4SXq8lBjqYkSnelYDpSW9Q0X_mJAKP1LZ9EUYs5QxeRn_gMFv3FJ9RbqnVPb4UqIV0-1_AGNCsQ/s1600/Snap4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgybIGUxYGGPQfEu3tV05Nmy3PLzyDD3-p7fIM14Ubwq-5t1HchyzK-n_OOT8ZGlzg4SXq8lBjqYkSnelYDpSW9Q0X_mJAKP1LZ9EUYs5QxeRn_gMFv3FJ9RbqnVPb4UqIV0-1_AGNCsQ/s1600/Snap4.png" height="287" width="400" /></a></div>
<br />
Hier jetzt die Installation der Samples auswählen<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCUtCxjH3_dTJPJevXnZ8xSv_9pWzcmhd4QghZonCBPIIzqeVGzmwpn7_8xXpQ1w_GZuuTXWczWD-Rpb99iDysjE4j9jRww0T3jQv3Dg4Vs6edP2mAIuc3hI3qY-kdGdVAaDoWIbA4Jw/s1600/Snap5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCUtCxjH3_dTJPJevXnZ8xSv_9pWzcmhd4QghZonCBPIIzqeVGzmwpn7_8xXpQ1w_GZuuTXWczWD-Rpb99iDysjE4j9jRww0T3jQv3Dg4Vs6edP2mAIuc3hI3qY-kdGdVAaDoWIbA4Jw/s1600/Snap5.png" height="287" width="400" /></a></div>
<br />
Das mitgelieferte JDK sollte genommen werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1RSh2VJ0B1OyNkXra1sLI7jvBHmKQGUFmWvbSFWsjp9LTFIz15LfKObw0uBANn7l1_G9tRpQH5fT7ORw7_px8Y7tpq4q3u2NV5S6VhoskJIT-NHYPm-9gqzejUKTugLo1oyzJHue-iw/s1600/Snap6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1RSh2VJ0B1OyNkXra1sLI7jvBHmKQGUFmWvbSFWsjp9LTFIz15LfKObw0uBANn7l1_G9tRpQH5fT7ORw7_px8Y7tpq4q3u2NV5S6VhoskJIT-NHYPm-9gqzejUKTugLo1oyzJHue-iw/s1600/Snap6.png" height="287" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilCbo_vI5BKo5FlOxJN2NkA3jxv-Z0heCtYCbhqQrZYSlwvnuKlsNl7vJW3eVA69nSOzA8F5lhZuPIZ5Yf3mlPkYZxoYd0ZHhhlMV-P8TpFNb1c9CAj-nM-SY99g5bXbABCUoWSkhl1w/s1600/Snap7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilCbo_vI5BKo5FlOxJN2NkA3jxv-Z0heCtYCbhqQrZYSlwvnuKlsNl7vJW3eVA69nSOzA8F5lhZuPIZ5Yf3mlPkYZxoYd0ZHhhlMV-P8TpFNb1c9CAj-nM-SY99g5bXbABCUoWSkhl1w/s1600/Snap7.png" height="287" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAPGN7Vt0lpnHr6_bBom9vG2K3qaMFANOuGsjbDxKxl1Mzx-mnhF5xPusd6CDvyI7cikNrWo7pw1TMum1sE5jVMeL26ad-09URvjAqqa_GDpmXF38ig3hZ4T1M4LVOv5QAXKybqk2xYw/s1600/Snap8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAPGN7Vt0lpnHr6_bBom9vG2K3qaMFANOuGsjbDxKxl1Mzx-mnhF5xPusd6CDvyI7cikNrWo7pw1TMum1sE5jVMeL26ad-09URvjAqqa_GDpmXF38ig3hZ4T1M4LVOv5QAXKybqk2xYw/s1600/Snap8.png" height="287" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkJT7BimH_psE-3zkfGG2UbWFWUaIhLPlHHSu-hsbEujv6InszsZaAzznwU2rWj2Q4_gDS_zNClwhE6k2SFtwG2qTfqoZjc-4GzB2bDppxkLC303sNjuR8TwOnM1cswIuMHc9fO6nQxA/s1600/Snap9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkJT7BimH_psE-3zkfGG2UbWFWUaIhLPlHHSu-hsbEujv6InszsZaAzznwU2rWj2Q4_gDS_zNClwhE6k2SFtwG2qTfqoZjc-4GzB2bDppxkLC303sNjuR8TwOnM1cswIuMHc9fO6nQxA/s1600/Snap9.png" height="287" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtTIwnXwRX9qibib5Z8tFmiTIOU-UcRSJcP4N_0gGFG5feDkeAM7lijy7vJzKU7W_7NmZTWo3kKFOgZIWbjUJI_vpy27Wc_nwlGZIvIuamfm_G2Kl5G-ybtYeQLGDmgT200Bja5dfGKg/s1600/Snap10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtTIwnXwRX9qibib5Z8tFmiTIOU-UcRSJcP4N_0gGFG5feDkeAM7lijy7vJzKU7W_7NmZTWo3kKFOgZIWbjUJI_vpy27Wc_nwlGZIvIuamfm_G2Kl5G-ybtYeQLGDmgT200Bja5dfGKg/s1600/Snap10.png" height="287" width="400" /></a></div>
<br />
Die Installation sollte bis hierher einfach durchlaufen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjx1NXkzIqulndCcYPwMISUU3rCE0iKNvFXKUYMBsJBOAlORF1WBxrUIcTZDAQf3l14gmADZi0M7AcVUFC6FrTI7ozv2bhz3qjoKMuMUOjThYnKCLMM_YAJbYTI4_NVonl2_svyuClFA/s1600/Snap11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjx1NXkzIqulndCcYPwMISUU3rCE0iKNvFXKUYMBsJBOAlORF1WBxrUIcTZDAQf3l14gmADZi0M7AcVUFC6FrTI7ozv2bhz3qjoKMuMUOjThYnKCLMM_YAJbYTI4_NVonl2_svyuClFA/s1600/Snap11.png" height="444" width="640" /></a></div>
<br />
Bei der Installation wurde automatisch die Domain ocep_domain angelegt. Im Verzeichnis <INSTALL_DIR>\user_projects\domains\ocep_domain\defaultserver liegt die Datei startwlevs.cmd. Ein Doppelklick darauf startet den Event Server.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDdCqAr6ZCFZR5S4NnXRpYVXlu1thHiapm92MlSrA5LC9GE66LY4OCvFANbOqvxohgt9PK3F-AyqEhSsQLvcD5llL_Jd4HLTZUP28zxYIR8P_AuzEl9ggQPEYuJHA64KTMN7AB6BH3Bg/s1600/Snap12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDdCqAr6ZCFZR5S4NnXRpYVXlu1thHiapm92MlSrA5LC9GE66LY4OCvFANbOqvxohgt9PK3F-AyqEhSsQLvcD5llL_Jd4HLTZUP28zxYIR8P_AuzEl9ggQPEYuJHA64KTMN7AB6BH3Bg/s1600/Snap12.png" height="201" width="400" /></a></div>
<br />
Dann warten bis der Server läuft (GESTARTET bwz. RUNNING, je nach Spracheinstellungen). Danach kann auf die Web-Oberfläche zugegriffen werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqwiQHP1iTS89tImpuEAM_cLrZj1YJosGUqjrNvgFGSyBUKBznTG0_Xbuf0IF3GZjTfV3_4iMb0VGjoHmab_yry_BYlKzkQMMoRSm8ZRtUXIOOrmiqoQoiZ4Sj3obPmTp9wx5q_QC7tA/s1600/Snap13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqwiQHP1iTS89tImpuEAM_cLrZj1YJosGUqjrNvgFGSyBUKBznTG0_Xbuf0IF3GZjTfV3_4iMb0VGjoHmab_yry_BYlKzkQMMoRSm8ZRtUXIOOrmiqoQoiZ4Sj3obPmTp9wx5q_QC7tA/s1600/Snap13.png" height="419" width="640" /></a></div>
<br />
Nach einer Standardinstallation auf dem lokalen Rechner ist die URL http://localhost:9002/wlevs. Benutzername und Password sind wlevs/wlevs.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil6Zukn3Q7YVQ3boTpYr6Xp6qCkGwQkcKh721gsluCR9ss_TXmZrDh5i5rcVpHq2SJWhbum3VVmNPY41mMBBcPgGKeMMm4rRKgtG6FMAeVc4h9_vWmlrLlsIklDnowBM-UCaDxLmP9Pg/s1600/Snap14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil6Zukn3Q7YVQ3boTpYr6Xp6qCkGwQkcKh721gsluCR9ss_TXmZrDh5i5rcVpHq2SJWhbum3VVmNPY41mMBBcPgGKeMMm4rRKgtG6FMAeVc4h9_vWmlrLlsIklDnowBM-UCaDxLmP9Pg/s1600/Snap14.png" height="422" width="640" /></a></div>
<br />
Wenn bis hier hin alles geklappt hat, sollte der Event Processing Visualizer zu sehen sein. Unter NonClusteredServer/Applications/com.bea.wlevs.dataservices kann dann auf dem Reiter 'Event Processing Network' eine entsprechende visuelle Darstellung angezeigt werden.<br />
Damit ist die Server-Installation abgeschlossen.Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-8504012722038841992014-05-15T09:19:00.000-07:002014-05-15T09:21:02.336-07:00Java 8 Micro Edition (JME8) und Java Embedded Suite (JES) auf dem gleichen Image laufen lassenBei komplexeren Projekten im Embedded-Bereich kann es Sinn machen, mehrere Tools von Oracle miteinander zu kombinieren. Beispielsweise die Java Micro Edition (JME) aufgrund der einfachen Anbindbarkeit von externen Geräten mit der Java Embedded Suite auf Basis der Java Standard Edition Embedded, z.B. um darauf das Oracle Event Processing zu betreiben.<br />
Um nun beide Produkte auf dem gleichen Raspberry Pi System laufen zu lassen, ist es wichtig hier die richtige Distribution einzusetzen. JME8 benötigt Libraries für den Einsatz einer Hardware FPU (armhf), JSE Embedded statt dessen die Libraries für die Software-Emulation (armsf). Weitere Infos unter "<a href="http://www.raspbian.org/RaspbianFAQ#What_do_you_mean_by_.22soft_float_ABI.22_and_.22hard_float_ABI.22.3F" target="_blank">What do you mean by "soft float ABI" and "hard float ABI"?</a>".<br />
Debian-basierte Distributionen (Wheezy, Raspbian) kommen in jeweils einer Geschmacksrichtung, wobei das neuste Debian-Release, welches für armsf gebaut wurde noch aus 2012 stammt (<span style="font-family: Courier New, Courier, monospace;">apt-get upgrade</span> dauert da auf einem Raspi schon ein paar Stunden ;-). Je nachdem welche Variante installiert ist, lässt sich also nur JME oder JES nutzen, aber nicht beides auf einem System.<br />
Einfacher ist dies mit Pidora, welches beide Varianten in einer Distribution liefert (s. <a href="http://opensource.com/life/13/5/pidora-raspberry-pi-fedora-remix" target="_blank">hier</a>). Damit lassen sich sowohl JES als auch JME auf dem gleichen System betreiben (<a href="http://marcelknowsbest.blogspot.de/" target="_blank">Marcel</a>, danke für den Hinweis, ich hätte da sonst noch ein paar Tage herumprobiert).Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-45050294730177332352014-05-09T03:14:00.000-07:002014-05-20T08:30:28.525-07:00Java 8 ME lernen auf dem Raspberry Pi<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQz7C2ZHH3Uj2f6EefAjxbK_kkWJogBiWF8egb70aE3Upxv_563yAwhCq85fVpVglardHZYjG9BqfXEp54NDhcXGZAJDg0ErMrRN0qYEkezpcu-SOi1HustqOYAC3fXqsVwLhrsLx1Vg/s1600/IMG_20140509_121755.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQz7C2ZHH3Uj2f6EefAjxbK_kkWJogBiWF8egb70aE3Upxv_563yAwhCq85fVpVglardHZYjG9BqfXEp54NDhcXGZAJDg0ErMrRN0qYEkezpcu-SOi1HustqOYAC3fXqsVwLhrsLx1Vg/s1600/IMG_20140509_121755.jpg" height="201" width="320" /></a></div>
<br />
Ich habe gerade das Training <a href="https://apex.oracle.com/pls/apex/f?p=44785:145:0::::P145_EVENT_ID,P145_PREV_PAGE:1841,143" target="_blank">Oracle Massive Open Online Course: Develop Java Embedded Applications Using a Raspberry Pi</a> abgeschlossen und möchte es allen weiterempfehlen, die sich für die Thematik interessieren.<br />
In dem Kurs wird vermittelt wie man aus Netbeans am PC Programme (Midlets) erstellt, die man auf dem Raspberry Pi (mit Linux) auf der Java Micro Edition remote deployed, laufen lässt, debugged. Dabei werden auch externe Sensoren, Schalter und LED's angesteuert, das ganze wird anhand einer durchgehenden Projektanforderung entwickelt. Auch weitergehende Themen wie IPC und OTA-Updates werden behandelt.<br />
Man bekommt ungefähr eine Stunde pro Woche an Lernvideos präsentiert, dann gibt es dazu gut vorbereitete Übungen und am Ende jeder Woche ein Quiz. Schafft man alle 5 Teile gibt es dann auch ein Zertifikat.<br />
Das ganze Training ist extrem gut vorbereitet, die Lerninhalte sind interessant, die Übungen machen Sinn und Spaß. <br />
Der Zeitaufwand ist mit 6 Stunden die Woche etwas optimistisch angegeben, zumal wir im Training teilweise noch mit Problemen der JME 8 EA Version zu kämpfen hatten die im gerade erschienenen Release behoben sind. Aber einen Tag pro Woche sollte man einplanen. Es liegt aber auch an einem selbst, ob man den Anspruch hat alles selbst zu lösen und nur zur Not in die Lösungen schaut, oder da eine Abkürzung wählt.<br />
Ich hatte viel Spaß und habe dabei viel gelernt. Das Training ist kostenlos, der Anmeldelink ist oben.Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-86807212537473929052014-02-06T08:40:00.001-08:002014-02-06T08:43:59.913-08:00Handson: Basic Authentication zwischen OSB und SOA-Suite (Teil 3)In den letzten beiden Kapiteln wurde ein Web Service im Oracle Service Bus mit Basic Autentication abgesichert, der Zugriff darauf aus dem JDeveloper getestet und die WSDL lokal abgelegt. In diesem Teil wird der Web Service in das Composite eingebunden.<br />
Aktuell kann der JDeveloper auf keine WSDL's zugreifen, die per Basic Authentication abgesichert sind (s. z.B. auch <a href="http://soaandit.blogspot.co.uk/2012/04/local-import-of-wsdls-and-xsds-for.html" target="_blank">hier</a>). Neben der WSDL wird auch das XML-Schema lokal benötigt (sofern man es nicht ohnehin schon irgendwo liegen hat).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-7Vqe3figdjg1tlQ0WlcIUdwxsNocLKfiiwxXrikegs1S24mriW89iS8WWYhH_cqZo3MHmRPiz_74tCbA4YfePGCZznJsHSywkbT93H8okBVhhoi9crzGUQ9bp1fBUdPnCttK-6MaKw/s1600/Snap1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-7Vqe3figdjg1tlQ0WlcIUdwxsNocLKfiiwxXrikegs1S24mriW89iS8WWYhH_cqZo3MHmRPiz_74tCbA4YfePGCZznJsHSywkbT93H8okBVhhoi9crzGUQ9bp1fBUdPnCttK-6MaKw/s1600/Snap1.png" height="283" width="640" /></a></div>
<br />
Die URL für das Schema bekommt man in der WSDL unter dem Attribut schemaLocation. Diese wird im Browser geöffnet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRKtvk4rfxLDYFa9cpdD5r5Lwn250M2SLIMzjjKgzOaO65d-Iu0kV4fg-q3RkMtcPFlxn0zZFQiHAGhNlBjihgyAc_I-nTwxMdq8AJC0yW1JkL1HjAstPoIfnceogmg3jda5i6eLtsUQ/s1600/Snap2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRKtvk4rfxLDYFa9cpdD5r5Lwn250M2SLIMzjjKgzOaO65d-Iu0kV4fg-q3RkMtcPFlxn0zZFQiHAGhNlBjihgyAc_I-nTwxMdq8AJC0yW1JkL1HjAstPoIfnceogmg3jda5i6eLtsUQ/s1600/Snap2.png" height="356" width="400" /></a></div>
<br />
Auch das Schema wird lokal abgespeichert, bitte auch hier auf die Dateierweiterung achten.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDugBZK2Ra-Oi1WEcecC-aEo1Hqdx3ZAZlnGsNbZM4SuBm0V_J8X5HbzSM_b0ur_CAkTmjyvKq5BgLbtNooRmnRnBDslATekH0pqNplMrndsWyMO7Tsk6caFu5MNpvvKMegGlq_MBwAQ/s1600/Snap5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDugBZK2Ra-Oi1WEcecC-aEo1Hqdx3ZAZlnGsNbZM4SuBm0V_J8X5HbzSM_b0ur_CAkTmjyvKq5BgLbtNooRmnRnBDslATekH0pqNplMrndsWyMO7Tsk6caFu5MNpvvKMegGlq_MBwAQ/s1600/Snap5.png" height="440" width="640" /></a></div>
<br />
Jetzt soll der Web Service in das SOA Composite eingebunden werden. Hierzu wird ein Web Service aus der Component Palette in den Bereich für die External References der SOA Suite gezogen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRoClPGic4LfQh4mQQ03cpHMfgx691efE9nqGbVzaQt6De_KkocNfn-j_fBX7zYox7tYFunE7cFXaatuN8grMpvKvbJ6dUs8s-cFbx0gLbo93d7LYV3zUdrXlPuChuVtopTU8HByWIYw/s1600/Snap6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRoClPGic4LfQh4mQQ03cpHMfgx691efE9nqGbVzaQt6De_KkocNfn-j_fBX7zYox7tYFunE7cFXaatuN8grMpvKvbJ6dUs8s-cFbx0gLbo93d7LYV3zUdrXlPuChuVtopTU8HByWIYw/s1600/Snap6.png" height="460" width="640" /></a></div>
<br />
Im 'Create Web Service' Wizard wird die WSDL über den 'Find existing WSDLs' Button hinzugefügt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihHOlFz5KDosngUnl0qY6jTJDX5VDcvahDa1SNEDHpjou_K5g_qg4kaIoeHjcnS2M4rXki-awIrpILv7Ne4aBEGK8dBndMZOBevH5qq8gYx4hyphenhyphenVjG_Fjm3I8sH0q_tA3v3ALEWI-UsNA/s1600/Snap7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihHOlFz5KDosngUnl0qY6jTJDX5VDcvahDa1SNEDHpjou_K5g_qg4kaIoeHjcnS2M4rXki-awIrpILv7Ne4aBEGK8dBndMZOBevH5qq8gYx4hyphenhyphenVjG_Fjm3I8sH0q_tA3v3ALEWI-UsNA/s1600/Snap7.png" height="367" width="400" /></a></div>
<br />
Hier wird die lokal gespeicherte WSDL ausgewählt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2y71WwZ51YD3YHW_38H_ZTu-baq1EBmikxP-nvKohnIZHX6XWQlUQ7g23nH3zNSSjGt3TyrfrEj7EnUwfhLM07FHGhgP3P0A_21X_ALJ1hnNJ_qQ8MGon1IrZNKZDN8dB7Y5OI_wDuw/s1600/Snap10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2y71WwZ51YD3YHW_38H_ZTu-baq1EBmikxP-nvKohnIZHX6XWQlUQ7g23nH3zNSSjGt3TyrfrEj7EnUwfhLM07FHGhgP3P0A_21X_ALJ1hnNJ_qQ8MGon1IrZNKZDN8dB7Y5OI_wDuw/s1600/Snap10.png" height="425" width="640" /></a></div>
<br />
Über die Option 'Localize external references' wird das XML-Schema gleich mitkopiert.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirBgLSTgFOU7BPXSp0eI6FCab1Jr5L03DGNriXZJl-zWEhUvkZ2nIhppgHM5G6P7OoQMKOkhKCmVOyYzHbYDADxzFu2J04ns6zSxYeZCBoau-mVE_1D7H0TSvyTLScJdeGrQnSdjWMTA/s1600/Snap12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirBgLSTgFOU7BPXSp0eI6FCab1Jr5L03DGNriXZJl-zWEhUvkZ2nIhppgHM5G6P7OoQMKOkhKCmVOyYzHbYDADxzFu2J04ns6zSxYeZCBoau-mVE_1D7H0TSvyTLScJdeGrQnSdjWMTA/s1600/Snap12.png" height="320" width="640" /></a></div>
<br />
Die WSDL und das Schema werden damit in das Projekt übernommen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVaoIirbu2O9uNwu7SSUlze6WMIHnTvbj8pAlaLDRvGt7x3-_h6ZOmt6vjuHu5ey9BaVFPPHjg_ZzBiO5RmBgOF9SWbRAJIkq9FnKz1L-MYkVJhEHpWeKDgVOoFo8JCl5l3JeJXMsuIQ/s1600/Snap13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVaoIirbu2O9uNwu7SSUlze6WMIHnTvbj8pAlaLDRvGt7x3-_h6ZOmt6vjuHu5ey9BaVFPPHjg_ZzBiO5RmBgOF9SWbRAJIkq9FnKz1L-MYkVJhEHpWeKDgVOoFo8JCl5l3JeJXMsuIQ/s1600/Snap13.png" height="283" width="640" /></a></div>
<br />
Um den Service jetzt im Composite zu nutzen, wird ein Mediator eingesetzt. Hierzu wird ein Mediator von rechts aus dem Bereich 'Service Components' in dem Components-Bereich des Composites gezogen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXjOD9Zlckoi7nWpmX2p7z-MK3JP_-g9J8qWmo16NM2TVwB5fwOyio8opz4XIP7cJQ4un8CPw4Sck9epb0izMZmwyHV_bZYs0cjQRigUEwKYkC2ubKh7odyCoFocxjh6EkmPNBZ409Cg/s1600/Snap15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXjOD9Zlckoi7nWpmX2p7z-MK3JP_-g9J8qWmo16NM2TVwB5fwOyio8opz4XIP7cJQ4un8CPw4Sck9epb0izMZmwyHV_bZYs0cjQRigUEwKYkC2ubKh7odyCoFocxjh6EkmPNBZ409Cg/s1600/Snap15.png" height="292" width="400" /></a></div>
<br />
Der Mediator soll ja das gleiche Interface umsetzen wie der ursprüngliche Web Service, als .'Interface Definition from WSDL' auswählen und 'OK'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixCfhBje2WpZ_Oq2hQdD98Rc_6iCi9bC1_6hrOlFvacji5-ymxpV8kbFI2oefkpvCF6MCmibVnay0TdQYHpn7qXGBip_vqdEvYQoSBk-QdDFC_bezPF-zdMmI6ojt2mtwI-S7rBk4RdA/s1600/Snap16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixCfhBje2WpZ_Oq2hQdD98Rc_6iCi9bC1_6hrOlFvacji5-ymxpV8kbFI2oefkpvCF6MCmibVnay0TdQYHpn7qXGBip_vqdEvYQoSBk-QdDFC_bezPF-zdMmI6ojt2mtwI-S7rBk4RdA/s1600/Snap16.png" height="433" width="640" /></a></div>
<br />
Weiter mit dem 'Find existing WSDLs' Button<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6UV7sK8i9Ojn9wPgravhkpda5hagbzzoF4BKtcJHxKvcHQ1YX1SF6Oys2if930YDeyLSCrUvN00BmVAEvhnWT3OIHZRPLXSgYQUA0ns4cQCPAqWCvoqv4F-vGaGct-InRjMoiL0il3A/s1600/Snap17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6UV7sK8i9Ojn9wPgravhkpda5hagbzzoF4BKtcJHxKvcHQ1YX1SF6Oys2if930YDeyLSCrUvN00BmVAEvhnWT3OIHZRPLXSgYQUA0ns4cQCPAqWCvoqv4F-vGaGct-InRjMoiL0il3A/s1600/Snap17.png" height="296" width="400" /></a></div>
<br />
In der oberen Combobox 'Application' auswählen, dann unten das Projekt aufklappen und die importierte WSDL auswählen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS-4gONVYGkMJl6wwpH2uawDyw7-azQeRL8tCuizF1watO0oRwv14MgTGMNFJa8wRZ5H5XHezNYG2dNyI5EeNKd8DiKHYkK1RJDAQugAmxJqj8U15hkkRUzfsv4nD17QXwtzmoV4oiMw/s1600/Snap18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS-4gONVYGkMJl6wwpH2uawDyw7-azQeRL8tCuizF1watO0oRwv14MgTGMNFJa8wRZ5H5XHezNYG2dNyI5EeNKd8DiKHYkK1RJDAQugAmxJqj8U15hkkRUzfsv4nD17QXwtzmoV4oiMw/s1600/Snap18.png" height="292" width="400" /></a></div>
<br />
Fertig, abschliessen mit 'OK'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWrdnJJz774EiMm2-i60eqWofwXOUAVCUobEETBqLJtUBbB9Wl9jwLR9ioQOO6sOGE6zQhswjbGU81Q4PmVc1L-iFagfnTXqB7AIQHAcAB7tS_zSE6F6adli7C5CqpU6O5ocTxaIM2qA/s1600/Snap19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWrdnJJz774EiMm2-i60eqWofwXOUAVCUobEETBqLJtUBbB9Wl9jwLR9ioQOO6sOGE6zQhswjbGU81Q4PmVc1L-iFagfnTXqB7AIQHAcAB7tS_zSE6F6adli7C5CqpU6O5ocTxaIM2qA/s1600/Snap19.png" height="140" width="640" /></a></div>
<br />
Das Serviceinterface links wurde damit automatisch erzeugt. Jetzt wird der Mediator mit dem Web Service auf der rechten Seite verbunden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnwdvhk_-HhQNJPK5X_5h5dzRyE9l1VpkTKnt8kJOKY6mtnfIEl7A_UJncWQrIl5haMgoJzFtHfj-ptnI-q9HVeKXGAZ25_45TN2FWIeFFkn-b7l4kAkkppDznQufKr3Uat6DdHHuchg/s1600/Snap20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnwdvhk_-HhQNJPK5X_5h5dzRyE9l1VpkTKnt8kJOKY6mtnfIEl7A_UJncWQrIl5haMgoJzFtHfj-ptnI-q9HVeKXGAZ25_45TN2FWIeFFkn-b7l4kAkkppDznQufKr3Uat6DdHHuchg/s1600/Snap20.png" height="162" width="640" /></a></div>
<br />
Per Doppelklick wird der Mediator geöffnet. Hier müssen noch die Mapper für die beiden Richtungen definiert werden. Hierzu auf das 'Select an existing mapper file or create a new one' Icon klicken.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd-8BVzjvEBeKXAmKo1TWUu0v_eFEPGG9QaL9k008wlfecXSHZxPi3RvMAhTckEUtWlgVffVtGYorTUBV5TCLDNH90woJ38P1vIY3YnwlGFBA98lHKA8I9e7dINe2V2LtWMlTJxxW-Ng/s1600/Snap21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd-8BVzjvEBeKXAmKo1TWUu0v_eFEPGG9QaL9k008wlfecXSHZxPi3RvMAhTckEUtWlgVffVtGYorTUBV5TCLDNH90woJ38P1vIY3YnwlGFBA98lHKA8I9e7dINe2V2LtWMlTJxxW-Ng/s1600/Snap21.png" height="188" width="640" /></a></div>
<br />
Weil noch kein Mapper-File existiert, muss zunächst ein neues erstellt werden. Hierzu 'Create New Mapper File' auswählen, ein Dateiname wird automatisch vergeben, und mit 'OK' bestätigen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEGfHiU2IUfQuA3UuVQW6E4V0vX0VsHBOI-UCy37PVe7fyo2fQi6lmo75Empdy4ObwLijMt3Jl5CKMel2YwhZEjfwy-pq5LQBSEa6dRfPpWVMImbCykGIirWp4Vcb9ScGOjPSirUfILA/s1600/Snap22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEGfHiU2IUfQuA3UuVQW6E4V0vX0VsHBOI-UCy37PVe7fyo2fQi6lmo75Empdy4ObwLijMt3Jl5CKMel2YwhZEjfwy-pq5LQBSEa6dRfPpWVMImbCykGIirWp4Vcb9ScGOjPSirUfILA/s1600/Snap22.png" height="228" width="640" /></a></div>
<br />
Das Mapping ist an dieser Stelle trivial: einfach die beiden arg0-Parameter miteinander verbinden. Anschliessen zur Sicherheit ein 'Save all' durchfürhren und das Mapper-Fenster wieder schliessen.<br />
<br />
Jetzt bitte für 'Synchronous Reply' noch einmal genau so verfahren und die beiden 'reply'-Werte miteinander verbinden. Hinterher kann das Mediator-Fenster wieder geschlossen werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4YOzVhhYtOAnZje5B9cf4pyDbLn-2N4kyvI-Vz17rNdcuTPgQ-AQXJHAsC2ljnxVtoaYnLtE4ZO0fegZCeXGia2I3OWfg17XP_XJNaC9tt15kPn5C6kAenGqpIP1MGsAT_s7OpdD6rw/s1600/Snap23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4YOzVhhYtOAnZje5B9cf4pyDbLn-2N4kyvI-Vz17rNdcuTPgQ-AQXJHAsC2ljnxVtoaYnLtE4ZO0fegZCeXGia2I3OWfg17XP_XJNaC9tt15kPn5C6kAenGqpIP1MGsAT_s7OpdD6rw/s1600/Snap23.png" height="376" width="640" /></a></div>
<br />
Jetzt muss noch die Basic Authentication über den Oracle Web Services Manager (OWSM) konfiguriert werden, die Details dazu gibt es z.B. im <a href="http://biemond.blogspot.de/2010/08/http-basic-authentication-with-soa.html" target="_blank">Blog von Edwin Biemond</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjBR_iCWjf3sy_B3Y-vBHfl5XbvPhiK1_E90vzAudG-37maqh1JTbsQU58SSCPYeFpMFU3Ww3lkqhRTpv1_xbf6T8G6MnHBuUZBRXrnYW6mppCU75dYFQ6MyAG3DkpfWkioOgEDR9PTg/s1600/Snap24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjBR_iCWjf3sy_B3Y-vBHfl5XbvPhiK1_E90vzAudG-37maqh1JTbsQU58SSCPYeFpMFU3Ww3lkqhRTpv1_xbf6T8G6MnHBuUZBRXrnYW6mppCU75dYFQ6MyAG3DkpfWkioOgEDR9PTg/s1600/Snap24.png" height="640" width="576" /></a></div>
<br />
Im nächsten Dialog klickt man unter Security auf das grüne Plus (+) Symbol und wählt dort die 'oracle/wss_http_token_policy' aus. Danach mit 'OK' schliessen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTiIFrRsrKX1jHrrHrIHH5Yqq2M3Rr62gzHJDsUMphgSjsS_LaJY7A1-S_SQM34Qfi98mwTd_PYH-WLDxKqa_EFmrzl3f5y1UmhZ8cwZ0-z5dOGiBtw10LzIAU_cNK65XGTuFDAHR5mw/s1600/Snap25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTiIFrRsrKX1jHrrHrIHH5Yqq2M3Rr62gzHJDsUMphgSjsS_LaJY7A1-S_SQM34Qfi98mwTd_PYH-WLDxKqa_EFmrzl3f5y1UmhZ8cwZ0-z5dOGiBtw10LzIAU_cNK65XGTuFDAHR5mw/s1600/Snap25.png" height="356" width="400" /></a></div>
<br />
Jetzt muss die SOA-Suite, auf die das Composite deployed werden soll, noch entsprechend konfiguriert werden. Hierzu per Rechtsklick auf die WebLogic Domain das Popup-Menü öffnen und 'Security|Credentials' auswählen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN39YrJY7ecfiFFgeMktkkY_f9gePahz9btMhjrKIqlL-5ZdJ0nfdXpbEG8weuKzXo9dLXxPk4tprV1bDcrT1j93iFDc6u_xKFAiaYIa9AAesodwLtDM-V3X1T2L1SMXyyKunxi85Tcg/s1600/Snap27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN39YrJY7ecfiFFgeMktkkY_f9gePahz9btMhjrKIqlL-5ZdJ0nfdXpbEG8weuKzXo9dLXxPk4tprV1bDcrT1j93iFDc6u_xKFAiaYIa9AAesodwLtDM-V3X1T2L1SMXyyKunxi85Tcg/s1600/Snap27.png" height="392" width="640" /></a></div>
<br />
Sofern nicht bereits vorhanden, muss hier die Map 'oracle.wsm.security' erstellt werden. Hierzu auf '(+) Create Map' klicken und mit 'OK' bestätigen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHCR-YYRQLv_cPxy3zme1cEaYxppRXVEYVRGl0LAdLej8MRdhI_YCQElZlyq2xBkdTlQ0oE5R4NcITK17nC0z5p6xfD0Zr-CUzeSjiQUDXnM-nmcWfmNfJDuwhuLuAz2nss_pYrUC5Kw/s1600/Snap29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHCR-YYRQLv_cPxy3zme1cEaYxppRXVEYVRGl0LAdLej8MRdhI_YCQElZlyq2xBkdTlQ0oE5R4NcITK17nC0z5p6xfD0Zr-CUzeSjiQUDXnM-nmcWfmNfJDuwhuLuAz2nss_pYrUC5Kw/s1600/Snap29.png" height="482" width="640" /></a></div>
<br />
In der Map wird dann via '(+) Create Key' der Key basic.credentials vom Typ Password angelegt und die Zugangsdaten für den Service eingegeben.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqBWhqfZG_LWvG61lCA9kLqk1fNOM3rNEoa5Y2TaoWV-Bqo2smWWkxGZ9L-Sh79MnOTsEtNdV0A2ILO2lWMqQxCMS_Gl-z-8DjlTTClrusv9fCt9h0__LmbAXr4Eaw9wdyUgTkSIlhxQ/s1600/Snap30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqBWhqfZG_LWvG61lCA9kLqk1fNOM3rNEoa5Y2TaoWV-Bqo2smWWkxGZ9L-Sh79MnOTsEtNdV0A2ILO2lWMqQxCMS_Gl-z-8DjlTTClrusv9fCt9h0__LmbAXr4Eaw9wdyUgTkSIlhxQ/s1600/Snap30.png" height="296" width="640" /></a></div>
<br />
Das Ergebnis sollte dann wie oben aussehen. Damit ist die Konfiguration abgeschlossen.<br />
<br />
Zum Testen wird das Composite deployed (s. z.B. <a href="http://fmw-deutsch.blogspot.de/2011/02/bpmn-deployment-auf-weblogic-server.html" target="_blank">hier</a>).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR2CPknIkZv1cHof4MJFyJcXQuHe0INSFprpk5LooiO_lI7QNeakqKQXpoyVnreEs86-WhXeY2HR5Z47OJpXi6oYTqnUM3Bm1izgFcHIDe7lIKJQRW4TdKETk9u_F66SwbKTGrVWCbww/s1600/Snap31.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR2CPknIkZv1cHof4MJFyJcXQuHe0INSFprpk5LooiO_lI7QNeakqKQXpoyVnreEs86-WhXeY2HR5Z47OJpXi6oYTqnUM3Bm1izgFcHIDe7lIKJQRW4TdKETk9u_F66SwbKTGrVWCbww/s1600/Snap31.png" height="210" width="640" /></a></div>
<br />
Zum testen dann im Enterprise Manager das Composite auswählen und auf Test klicken ...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcv9NpWbjdiZsOCdPPPuMfIBeUommoEKDJTxsNGYrChlmtQLIcUMvZPBTmOPrUN8QmIk8tR3tUXmy6_xAGUKPeYd3ySeCqfAxuKwYb7vYjoqL968QzfQE8K41iw3vAcKZrbaiq8lFC-Q/s1600/Snap33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcv9NpWbjdiZsOCdPPPuMfIBeUommoEKDJTxsNGYrChlmtQLIcUMvZPBTmOPrUN8QmIk8tR3tUXmy6_xAGUKPeYd3ySeCqfAxuKwYb7vYjoqL968QzfQE8K41iw3vAcKZrbaiq8lFC-Q/s1600/Snap33.png" height="424" width="640" /></a></div>
<br />
... hier einen möglichst sinnvollen Testwert eintragen und auf 'Test Web Service' klicken ...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNVkWoJuDz3PgCQkZZ7jdSPYSZlCm8Z7ftfUw2cDUgvQ8Ce7p6Tvb8HqMuOw-kjFPpWi8eGmixos0EOHKo817M9TOjzfbY7SXfxr3K8vx17BpKwwOd_zaUJTjTPjdbcBz5P8rAyMVSoA/s1600/Snap34.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNVkWoJuDz3PgCQkZZ7jdSPYSZlCm8Z7ftfUw2cDUgvQ8Ce7p6Tvb8HqMuOw-kjFPpWi8eGmixos0EOHKo817M9TOjzfbY7SXfxr3K8vx17BpKwwOd_zaUJTjTPjdbcBz5P8rAyMVSoA/s1600/Snap34.png" height="158" width="640" /></a></div>
<br />
... und fertig. Wenn alles richtig gelaufen ist, sollte hier jetzt das Ergebnis zu sehen sein.<br />
<br />
Somit kann also der Web Service durch den OSB per Basic Authentication abgesichert werden und aus der SOA-Suite per OWSM-Credential aufgerufen wird. Dabei kann z.B. in der Entwicklung die Basic Authentication abgeschaltet werden und erst beim Deployment auf das Testsystem aktiviert werden.Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-28282030919048655232014-01-30T07:42:00.000-08:002014-02-06T08:41:44.467-08:00Handson: Basic Authentication zwischen OSB und SOA-Suite (Teil 2)Im zweiten Teil soll der via Basic Authentication geschützte ProxyService aus der SOA-Suite genutzt werden. Hierzu wird zunächst der Zugriff auf den Service getestet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAVk0VjfIJQy2WOjIZI9uj0Pbq-K2D_b0Wrxw6Ep3sEBEQ9-MZRfs_H4UnFX_GZxYbNw4XWP0xqyFdg6xCURLI0katM9PrMSsm6uQfK3OuOvDD947jjHv-YO5YybGUVBftKyn1vQ03mw/s1600/Snap4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAVk0VjfIJQy2WOjIZI9uj0Pbq-K2D_b0Wrxw6Ep3sEBEQ9-MZRfs_H4UnFX_GZxYbNw4XWP0xqyFdg6xCURLI0katM9PrMSsm6uQfK3OuOvDD947jjHv-YO5YybGUVBftKyn1vQ03mw/s1600/Snap4.png" height="508" width="640" /></a></div>
<br />
Die URL für Service bekommt man in der Übersicht zum Proxy Service unter Endpoint URI, davor kommen nur noch Hostname und Port des OSB Servers. Also in diesem Fall<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">oel6ab:8011/Basic-Auth/Proxy_Services/HelloService-PS</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZwulyuTef3nddKB7-bzfKcO2h67htn9MlmRyR5dOqH4pRbfFkYSTA_UD-YAJ_SifTdTSh0-ys-KZ21i02dFCsdIkNkSZ2gdF5ewJzK47RT2Tbpq3TqpnEjfWClE5SKHTL-7LEi_6qvQ/s1600/Snap1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZwulyuTef3nddKB7-bzfKcO2h67htn9MlmRyR5dOqH4pRbfFkYSTA_UD-YAJ_SifTdTSh0-ys-KZ21i02dFCsdIkNkSZ2gdF5ewJzK47RT2Tbpq3TqpnEjfWClE5SKHTL-7LEi_6qvQ/s1600/Snap1.png" height="117" width="400" /></a></div>
<br />
Zum Testen gibt man diese URL in einen Web Browser auf dem aufrufenden System ein, gefolgt von ?WSDL, also in diesem Beispiel<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">oel6ab:8011/Basic-Auth/Proxy_Services/HelloService-PS?WSDL</span><br />
<br />
Da der Service per Basic Authentication abgesichert ist, erscheint die Eingabeaufforderung für Benutzername/Password. Hier kann z.B. der weblogic User genommen werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRkRmlPTVSuTnFq_-hns0CFVdgs_ytCevAoSpxUttTmGxHTe1M8YBZdeY42rP8utgBX6QHEHkV5IUQed4d9tYiYgBoZ3DDzh5_Geg_vnIxycWQ8ZcssQwInTroYhe_ngEKjUACwWaQPw/s1600/Snap2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRkRmlPTVSuTnFq_-hns0CFVdgs_ytCevAoSpxUttTmGxHTe1M8YBZdeY42rP8utgBX6QHEHkV5IUQed4d9tYiYgBoZ3DDzh5_Geg_vnIxycWQ8ZcssQwInTroYhe_ngEKjUACwWaQPw/s1600/Snap2.png" height="313" width="400" /></a></div>
<br />
Wenn bis hier alles geklappt hat, wird die WSDL angezeigt. Diese bitte lokal speichern, dabei auf die Dateiendung achten.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHdDg7RAK3Km6nv06BBuUngI8mmKk8OegiAANi7Nf_edrwnblssltb14V-Rej-VsJIjfMSDybPjcjhLjyY6dpc-TOMeTUwHYSUXi_fPd-lGhQtbxk2b_fWlan3_DP_bRDIJ_FxDMNOxQ/s1600/Snap5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHdDg7RAK3Km6nv06BBuUngI8mmKk8OegiAANi7Nf_edrwnblssltb14V-Rej-VsJIjfMSDybPjcjhLjyY6dpc-TOMeTUwHYSUXi_fPd-lGhQtbxk2b_fWlan3_DP_bRDIJ_FxDMNOxQ/s1600/Snap5.png" height="321" width="640" /></a></div>
<br />
Weiter geht es im JDeveloper. Hier wird zunächst eine neue Anwendung mit 'New Application' angelegt, als Typ SOA Application ausgewählt und weiter mit 'Next'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFdW1gMox4eq7SUShjvgOEJcoI9D4h50JtPGyhjgTK54LiE1BoydSH0DCT41zSpGxkD54raks6IjQvlRKmCmH_2bfwKROj6FoJTiS-gK-yHonIq_IPgIzdxIGnkq0Fkft8Hrpd853mnQ/s1600/Snap20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFdW1gMox4eq7SUShjvgOEJcoI9D4h50JtPGyhjgTK54LiE1BoydSH0DCT41zSpGxkD54raks6IjQvlRKmCmH_2bfwKROj6FoJTiS-gK-yHonIq_IPgIzdxIGnkq0Fkft8Hrpd853mnQ/s1600/Snap20.png" height="300" width="400" /></a></div>
<br />
Wahlweise kann das Projekt einen Namen bekommen, z.B. SoaProject1. Weiter mit 'Next'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj99M-kItKu4NW8v5xiydtMlNX34iXhso5rfYZpptyA_d0E28WL1GbzxBJC8neWoYYMpCDh_iABrn6ifcs5TsYOikIigAwIlHzWDYcwQdvzpFU_VZgiXm6753oBWsV60tI7Jme5d7DeQg/s1600/Snap7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj99M-kItKu4NW8v5xiydtMlNX34iXhso5rfYZpptyA_d0E28WL1GbzxBJC8neWoYYMpCDh_iABrn6ifcs5TsYOikIigAwIlHzWDYcwQdvzpFU_VZgiXm6753oBWsV60tI7Jme5d7DeQg/s1600/Snap7.png" height="300" width="400" /></a></div>
<br />
Defaults belassen, weiter mit 'Next'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP_67IxNyNaRCGlPLX0i4jtykGxp6dPS9edscljQ9NR2FP5OtAVOB8zKvx7mzUEpZ4L1Z0THlGSHa4yE6RJ4nJd4cNek9bhdrmQCHau65LCedFVdntU-BPuyDZRTUdUqtGfYMUXK_o6Q/s1600/Snap8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP_67IxNyNaRCGlPLX0i4jtykGxp6dPS9edscljQ9NR2FP5OtAVOB8zKvx7mzUEpZ4L1Z0THlGSHa4yE6RJ4nJd4cNek9bhdrmQCHau65LCedFVdntU-BPuyDZRTUdUqtGfYMUXK_o6Q/s1600/Snap8.png" height="300" width="400" /></a></div>
<br />
'Empty Composite' auswählen und abschliessen mit 'Finish'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglVoMy4fkKbDZqwvYqadKlF9Rv0l-MSUK2rofMY09DcVAXWZ2pC3bnhMSxcN4NYkRg_6UjVDm0via35HErxBs_wTcIhNAzRdH2J2AmQ8zpGaLKMpjzFUa6N5n1GlC4ZqQXovQNeCTM5Q/s1600/Snap10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglVoMy4fkKbDZqwvYqadKlF9Rv0l-MSUK2rofMY09DcVAXWZ2pC3bnhMSxcN4NYkRg_6UjVDm0via35HErxBs_wTcIhNAzRdH2J2AmQ8zpGaLKMpjzFUa6N5n1GlC4ZqQXovQNeCTM5Q/s1600/Snap10.png" height="369" width="640" /></a></div>
<br />
Als Ergebnis gibt es eine Application mit einem Projekt für das SOA Composite. Bevor dieses jetzt mit Leben gefüllt wird, wird noch ein weiteres Projekt zum Testen des Services benötigt. Dieses wird angelegt mit 'New Projekt...'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFSLURIK74mTmpUUdOsZfyX0B09qH_TiBoZqD-txeQysfws3thIUCMd60YRZkNabTAX7-pb8zZMJU5lma-uBVyMUtcAnKD15ss9gsO4ZPFiwMsx0vXKM9Lmf9wfQCQj-PNd_FO-dGE7g/s1600/Snap21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFSLURIK74mTmpUUdOsZfyX0B09qH_TiBoZqD-txeQysfws3thIUCMd60YRZkNabTAX7-pb8zZMJU5lma-uBVyMUtcAnKD15ss9gsO4ZPFiwMsx0vXKM9Lmf9wfQCQj-PNd_FO-dGE7g/s1600/Snap21.png" height="456" width="640" /></a></div>
<br />
Das 'Generic Project' reicht aus, abschließen mit 'OK'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaqc3lorf0PAW4bFXfHnBF99JAfg2q0NAPx-xpCRkvrbNqaryxDaI4B4VmbDBW7dv59fNXd86DLjqriJz6B-LSoCjl_76A202l30GvP-K6kEFCehol3s9hcn2uUOU4RpaxtR7o8k6MHg/s1600/Snap22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaqc3lorf0PAW4bFXfHnBF99JAfg2q0NAPx-xpCRkvrbNqaryxDaI4B4VmbDBW7dv59fNXd86DLjqriJz6B-LSoCjl_76A202l30GvP-K6kEFCehol3s9hcn2uUOU4RpaxtR7o8k6MHg/s1600/Snap22.png" height="480" width="640" /></a></div>
<br />
Namen vergeben, Web Services als Technologie auswählen und gleich abschließen mit 'Finish'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcnDgx8AdOdZnghTkHsD7My4P9d9lVmwfHNr3T7Bier93OwEePFxn9hMdmoXgkzcaZQWV9flq4C-jb4qczvgnOj-tZeWPTBkl_9A0TZ1qmmDIeZ8gBj5o3a6z4thU2defkFUtibG66zw/s1600/Snap23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcnDgx8AdOdZnghTkHsD7My4P9d9lVmwfHNr3T7Bier93OwEePFxn9hMdmoXgkzcaZQWV9flq4C-jb4qczvgnOj-tZeWPTBkl_9A0TZ1qmmDIeZ8gBj5o3a6z4thU2defkFUtibG66zw/s1600/Snap23.png" /></a></div>
<br />
Per Rechtsklick auf das Projekt und Auswahl von 'New...' wird die New-Gallery aufrufen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzw7Ny3bWF68_x5qHy4kX9uYCUHr3UcFtkwMtV0vZ_3EMnNqWM4EsNMJtrBfdXc3qv92FnVZz1uIfPrabSrkt2-C11FFJeomF9ZqrIHRbDdfkfrsPjCtJxonMfW6KAklXJi6RLs3TltA/s1600/Snap24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzw7Ny3bWF68_x5qHy4kX9uYCUHr3UcFtkwMtV0vZ_3EMnNqWM4EsNMJtrBfdXc3qv92FnVZz1uIfPrabSrkt2-C11FFJeomF9ZqrIHRbDdfkfrsPjCtJxonMfW6KAklXJi6RLs3TltA/s1600/Snap24.png" height="456" width="640" /></a></div>
<br />
Hier 'Java Web Service from WSDL' auswählen und weiter mit 'OK'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieyT7fOL0ykJ_e5xslLOqS4PmxS94ZWItsqTwmo7OmWYOC2-QG_dJ508jGAyklCkTHNnD_OuQB-mWZwcH6UKR4JPeeS89LGJBUhyphenhyphenjlf0S7U-vtQ9DzlHGtewxltt7iON-x2HLLNVlaMw/s1600/Snap12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieyT7fOL0ykJ_e5xslLOqS4PmxS94ZWItsqTwmo7OmWYOC2-QG_dJ508jGAyklCkTHNnD_OuQB-mWZwcH6UKR4JPeeS89LGJBUhyphenhyphenjlf0S7U-vtQ9DzlHGtewxltt7iON-x2HLLNVlaMw/s1600/Snap12.png" height="480" width="640" /></a></div>
<br />
Es erscheint der 'Create Java Web Service from WSDL' Wizard, gleich weiter mit 'Next'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir0d2JGCngJmRHCU33GS75rpooDyDsyKkiyCFNlOGAj-fI0GapUY33qTkTzoDw666XwBzrt3G-K_-BJm3OGIXrfzTgSBPiW1d08zlM6ooI_NkytQz7X8krNPZrNV3Mv2o4k8D9WH-ORg/s1600/Snap13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir0d2JGCngJmRHCU33GS75rpooDyDsyKkiyCFNlOGAj-fI0GapUY33qTkTzoDw666XwBzrt3G-K_-BJm3OGIXrfzTgSBPiW1d08zlM6ooI_NkytQz7X8krNPZrNV3Mv2o4k8D9WH-ORg/s1600/Snap13.png" height="480" width="640" /></a></div>
<br />
Default belassen und weiter mit 'Next'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVUN17zShoFZoQsQhNyEhyft-pPzvupWOVcPKUTZ5clX8a9wLh7jWHyRXmRpbRtN433at-JxFHFEJpIbt196FB8HQO3Ikv4PeSQKJ0syIJ2lPSrYEFp6aQbCnrvQoNFls-G73wOWxkAw/s1600/Snap14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVUN17zShoFZoQsQhNyEhyft-pPzvupWOVcPKUTZ5clX8a9wLh7jWHyRXmRpbRtN433at-JxFHFEJpIbt196FB8HQO3Ikv4PeSQKJ0syIJ2lPSrYEFp6aQbCnrvQoNFls-G73wOWxkAw/s1600/Snap14.png" height="480" width="640" /></a></div>
<br />
Hier die URL der WSDL eingeben wie oben im Browser, dann weiter mit 'Next'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6BoYljn9dnCgFAgs1v3qNiVeZ51Tg8nZkFjFSPdlr1ti5RjD_I24iwa4HoB2HO3yEk9QMuSXfm-v7AXLPCDRDX8085hUksvVx_7ZWOQvLHRXrkK0wodzyhKFDanVOFMmAZMdPCI5mFw/s1600/Snap17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6BoYljn9dnCgFAgs1v3qNiVeZ51Tg8nZkFjFSPdlr1ti5RjD_I24iwa4HoB2HO3yEk9QMuSXfm-v7AXLPCDRDX8085hUksvVx_7ZWOQvLHRXrkK0wodzyhKFDanVOFMmAZMdPCI5mFw/s1600/Snap17.png" height="164" width="320" /></a></div>
<br />
Hier noch einmal Benutzername und Password eingeben, weiter mit 'OK'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl9fZfi6z4KkaUXkW7l5PW2fdieK85EpqrpLObS1ECThvJ78sHqwD-dqjkJ73UJGZ1uXye9CN9E28_zVwuU4EssKEaTwVGEK0NH2Ts4sZpsask0-nCqI2pI2BxYpA06GKMyEU9MSrFsQ/s1600/Snap18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl9fZfi6z4KkaUXkW7l5PW2fdieK85EpqrpLObS1ECThvJ78sHqwD-dqjkJ73UJGZ1uXye9CN9E28_zVwuU4EssKEaTwVGEK0NH2Ts4sZpsask0-nCqI2pI2BxYpA06GKMyEU9MSrFsQ/s1600/Snap18.png" height="480" width="640" /></a></div>
<br />
Dann noch einen Namen vergeben und abschliessen mit 'Finish'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAvJBms6Xn3ikCz9NyzEXvnKJZSTt0gWNf-a9QQ_lCMww8cqx4X7XI2yKy6ieJYcw3UtAsJPGokLiy7lFH1BAnVdWNiszmxV18x5Y0c2q0kfESoQ0RUEgh0rQxbcT0SzUbs_MgnaRS5A/s1600/Snap25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAvJBms6Xn3ikCz9NyzEXvnKJZSTt0gWNf-a9QQ_lCMww8cqx4X7XI2yKy6ieJYcw3UtAsJPGokLiy7lFH1BAnVdWNiszmxV18x5Y0c2q0kfESoQ0RUEgh0rQxbcT0SzUbs_MgnaRS5A/s1600/Snap25.png" height="243" width="640" /></a></div>
<br />
Die WSDL wird schematisch angezeigt. Zum Testen des Web Service auf den grünen Pfeil klicken.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibnoNo3mPNlaNyu7iRkoIlN5oByohw1W7nnvKx_2JrwoHQO48dv409GXW_p-j3zzpJutc3-rjALtUUIp67anMjnG6WmP3-qLLX9Ma8BaUCTiiazTqxVglACxW67tODO3JkDrl-8mwfCg/s1600/Snap26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibnoNo3mPNlaNyu7iRkoIlN5oByohw1W7nnvKx_2JrwoHQO48dv409GXW_p-j3zzpJutc3-rjALtUUIp67anMjnG6WmP3-qLLX9Ma8BaUCTiiazTqxVglACxW67tODO3JkDrl-8mwfCg/s1600/Snap26.png" height="273" width="640" /></a></div>
<br />
Der 'HTTP Analyzer' wird geöffnet, hier kann eine Payload eingegeben werden und mit 'Send Request' der Web Service damit aufgerufen werden.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb20xh4fBT6YgUv72-cYYWym5auAYYMZWNQrt6nbCJccqRbaXwamcPbLMrJLRn9po1NTV0rlPf8wKOSyk6y2rK1WTkk2wBd43LgqtC7mYRFzhH9GbcsrXXPjLHK4wg6kekU8A2GWQl4g/s1600/Snap27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb20xh4fBT6YgUv72-cYYWym5auAYYMZWNQrt6nbCJccqRbaXwamcPbLMrJLRn9po1NTV0rlPf8wKOSyk6y2rK1WTkk2wBd43LgqtC7mYRFzhH9GbcsrXXPjLHK4wg6kekU8A2GWQl4g/s1600/Snap27.png" height="288" width="640" /></a></div>
<br />
Es gibt einen 'Error 401 -- Unauthorized' weil der Service eine Autorisierung erfordert.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpMhi0dDUO5pvc4tEDP_sYruk_A0wUvT6ktU6U-NRMykbE9n2zpeMIN3blNTnJY2FJMt5Wk6ZcDFZsnsi3LLjXDRzxgneAJ-lRCrYKSr4VvMLVhDnV3S3wURPnsRJS6SAm9y9MMXqF-Q/s1600/Snap28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpMhi0dDUO5pvc4tEDP_sYruk_A0wUvT6ktU6U-NRMykbE9n2zpeMIN3blNTnJY2FJMt5Wk6ZcDFZsnsi3LLjXDRzxgneAJ-lRCrYKSr4VvMLVhDnV3S3wURPnsRJS6SAm9y9MMXqF-Q/s1600/Snap28.png" height="532" width="640" /></a></div>
<br />
Die Basic Authentication ist Bestandteil des HTTP-Protokolls, sie muss entsprechend im HTTP-Header berücksichtig werden. Hierzu wird per kleinem Plus [+] Symbol links der HTTP-Header aufgeklappt, mit dem großen grünen Plus rechts das Menü geöffnet und 'Authorization Basic' ausgewählt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieD8pDJ6yOxfa_eXSLHlvLuiOYq5ObWmEGlQfaXvDBwHOi29yFyXBTsa8WHSgUJ0HQsREQ9OlwqMGS2lIsALNvOcGuDeRylUgajFgMxRNcY5QiSXa1bks-CQpLNpM_fYFWZd_fi5kyew/s1600/Snap29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieD8pDJ6yOxfa_eXSLHlvLuiOYq5ObWmEGlQfaXvDBwHOi29yFyXBTsa8WHSgUJ0HQsREQ9OlwqMGS2lIsALNvOcGuDeRylUgajFgMxRNcY5QiSXa1bks-CQpLNpM_fYFWZd_fi5kyew/s1600/Snap29.png" height="218" width="400" /></a></div>
<br />
In der neuen Headerzeile nach Doppelklick Benutzername und Password eintragen, danach wieder via 'Send Request' den Aufruf neu starten.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTwuKhA0aWEFwvai-9BYvVb8tXRkKZXLfkTG5wAlWDUu3eHYrE86RyYemgPq0-p2gWsnE-9uRpX2NysYDP-ijbC2oEs7AFWn8ehOIFGYXPjn4tsHkJnGAf8sr7a05akLeyMTi2jm60sg/s1600/Snap30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTwuKhA0aWEFwvai-9BYvVb8tXRkKZXLfkTG5wAlWDUu3eHYrE86RyYemgPq0-p2gWsnE-9uRpX2NysYDP-ijbC2oEs7AFWn8ehOIFGYXPjn4tsHkJnGAf8sr7a05akLeyMTi2jm60sg/s1600/Snap30.png" height="353" width="640" /></a></div>
<br />
Mit der richtigen Authentifizierung ist der Aufruf dann auch erfolgreich. Damit konnte in diesem Abschnitt der Proxy Service aus dem letzten Teil erfolgreich im JDeveloper mit Basic Authentication aufgerufen werden. Im nächsten Schritt wird der Proxy Service dann aus einem SOA Composite aufgerufen.<br />
<br />
---> <a href="http://fmw-deutsch.blogspot.de/2014/02/handson-basic-authentication-zwischen.html" target="_blank">Weiter geht es in Teil 3</a>Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0tag:blogger.com,1999:blog-3133761034463651506.post-83949303227200085902014-01-24T09:51:00.003-08:002014-01-30T07:44:57.704-08:00Handson: Basic Authentication zwischen OSB und SOA-Suite (Teil 1)Für dieses Szenario soll ein Web Service über den Oracle Service Bus (OSB) deklarativ per Basic Authentication abgesichert und anschliessend ebenso deklarativ aus der SOA-Suite genutzt werden. Benötigt werden für dieses Handson eine Weblogic Domain mit SOA-Suite, OSB und einem weiteren Server in dem ein einfacher Webservice läuft, z.B. der <a href="http://fmw-deutsch.blogspot.de/2013/04/obtm-helloworld-webservice-monitoren.html" target="_blank">Hello-World Service</a> aus dem OBTM Handson.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwZS1XCxEMj3dU1LobROVeUTharW5WRpNToufc9RASbNNGUyWsWNEriZQ_VDqoFHXFKwGq97_EKNCaL3QN6UOR35fIFZQwBDOukBhCBmwxK81sJhwh09wWOMGb6fbewSnVyxk14qTVeQ/s1600/Snap1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwZS1XCxEMj3dU1LobROVeUTharW5WRpNToufc9RASbNNGUyWsWNEriZQ_VDqoFHXFKwGq97_EKNCaL3QN6UOR35fIFZQwBDOukBhCBmwxK81sJhwh09wWOMGb6fbewSnVyxk14qTVeQ/s1600/Snap1.png" height="284" width="640" /></a></div>
<br />
Zuerst wird die WSDL von dem benutzten WebService benötigt. Diese erhält man in der Weblogic Console unter Deployments -> den jeweiligen Service auswählen und dann per Rechtsklick auf den WSDL-Link die URL kopieren.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikjTQcq5BXvKv3pcZQb8xbA5qdmbLCNoGcmrWEsVn6vb_rcGj_hHKJ-OuxJDUMe3L_i5M1mZyEbH48qnVvAc1EEtAip2wEbl6rJi2fy1cJg31_scxdoNbLAU1JdjG6cU-fjP_trxzheg/s1600/Snap2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikjTQcq5BXvKv3pcZQb8xbA5qdmbLCNoGcmrWEsVn6vb_rcGj_hHKJ-OuxJDUMe3L_i5M1mZyEbH48qnVvAc1EEtAip2wEbl6rJi2fy1cJg31_scxdoNbLAU1JdjG6cU-fjP_trxzheg/s1600/Snap2.png" height="228" width="640" /></a></div>
<br />
Dann am besten in der Service Bus Console ein eigenes Projekt (z.B. 'Basic-Auth') anlegen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEE6yhKkKUc5mgZ9_9qm87H7tR_zWdN57zzQgT8-0PQJMf1iczRnCcCAdX5i6FgQpExBjedKBzULeEEJsi6yFA0YKBY4hiIr88vA2mO5V7fCgmflaOJl5HlJmJjeAcNKgNMiOLCBgPDw/s1600/Snap3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEE6yhKkKUc5mgZ9_9qm87H7tR_zWdN57zzQgT8-0PQJMf1iczRnCcCAdX5i6FgQpExBjedKBzULeEEJsi6yFA0YKBY4hiIr88vA2mO5V7fCgmflaOJl5HlJmJjeAcNKgNMiOLCBgPDw/s1600/Snap3.png" height="418" width="640" /></a></div>
<br />
Im nächsten Schritt muss die WDSL importiert werden. Hierfür wird am besten im Projekt noch ein Folder 'Resources' angelegt.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOdRHTc4EIFRv1CHhaEMXylmyqoyGt6F5RfmmzH_N5qYvJ4k_O4ift_SQ8JUF6gIEvNXuZ417DtE19vLeY2cMEAUNVfbHm42DTiZXHp8rZlr5opzrAq8wHyG9mu2VVmk1icC-V-E5GGQ/s1600/Snap4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOdRHTc4EIFRv1CHhaEMXylmyqoyGt6F5RfmmzH_N5qYvJ4k_O4ift_SQ8JUF6gIEvNXuZ417DtE19vLeY2cMEAUNVfbHm42DTiZXHp8rZlr5opzrAq8wHyG9mu2VVmk1icC-V-E5GGQ/s1600/Snap4.png" height="464" width="640" /></a></div>
<br />
In dem Ordner kann kann die WSDL importiert werden. Dazu bei 'Create Resource' die Option 'Resources from URL' auswählen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN5maFMzmqDnTpEGRYPUMJqDqPcjlrG0G93pPrvUg3axhPaQQPx8FTtOxlxG-P1cXTk6cpa4EWdKQ_4f40mr5qBs9_JHc0eH1cESoF19mQ1aMtymWH_Z8TY4EFTDcmCLrgABSTQVvZTw/s1600/Snap6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN5maFMzmqDnTpEGRYPUMJqDqPcjlrG0G93pPrvUg3axhPaQQPx8FTtOxlxG-P1cXTk6cpa4EWdKQ_4f40mr5qBs9_JHc0eH1cESoF19mQ1aMtymWH_Z8TY4EFTDcmCLrgABSTQVvZTw/s1600/Snap6.png" height="280" width="640" /></a></div>
<br />
Hier wird dann die URL der WSDL des Services eingegeben und ein Name dafür vergeben, weiter mit Next>><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj3XNXe7dxyS94RDblKXNOQihkUDYumE3_7bYXt9ZVuus9EedWygj-Tx341a5V6-KO_u-rkwkzqd1qRVIuJvEH2X7O5vhmru-U0c7m1sKMSzD6mk-XhbkGYB24Kr8B05VUZ1feP32tsQ/s1600/Snap7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj3XNXe7dxyS94RDblKXNOQihkUDYumE3_7bYXt9ZVuus9EedWygj-Tx341a5V6-KO_u-rkwkzqd1qRVIuJvEH2X7O5vhmru-U0c7m1sKMSzD6mk-XhbkGYB24Kr8B05VUZ1feP32tsQ/s1600/Snap7.png" height="184" width="640" /></a></div>
<br />
Im nächsten Dialog einfach die Defaults belassen und mit 'Import' abschliessen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW3M1nqiG_lu20y518HJUfqKcydluDYX3OKttCBI8W75B79tNVqUb-u-tcub4BSonDYS2siVYZQ5Wn2la2rBB3rAvkhbNQ68UJP7ewDzldTCPyQ89BANMLsHVYrirn5TfQgkQxeQtVpQ/s1600/Snap8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW3M1nqiG_lu20y518HJUfqKcydluDYX3OKttCBI8W75B79tNVqUb-u-tcub4BSonDYS2siVYZQ5Wn2la2rBB3rAvkhbNQ68UJP7ewDzldTCPyQ89BANMLsHVYrirn5TfQgkQxeQtVpQ/s1600/Snap8.png" /></a></div>
<br />
Sofern man nicht im Developer-Modus ist, jetzt einfach mal abspeichern.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhydDbY7DDSTIIQf00w4FtGO7t7hJ1CYNlp67CtlMXQNO00t_MZguDgT3gE5tZerwpmLCC3jSXoLP843W0mZFcLt3ycG0BwX2zaleDZN4XH5lerwZ1OQl_okFMUYphyphenhyphenRAnzF4D-xQgVQw/s1600/Snap9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhydDbY7DDSTIIQf00w4FtGO7t7hJ1CYNlp67CtlMXQNO00t_MZguDgT3gE5tZerwpmLCC3jSXoLP843W0mZFcLt3ycG0BwX2zaleDZN4XH5lerwZ1OQl_okFMUYphyphenhyphenRAnzF4D-xQgVQw/s1600/Snap9.png" height="276" width="640" /></a></div>
<br />
Da der Name für das XML-Schema recht generisch ist, kann man ihn im Resources-Folder auch umbenennen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMQN09-YjqsR1F2gSeVtgftfOeaAdSVg1BraVtn8ysSko5PJkWzWt2F4SwtZgnf9Ak5XjLH59t19RaVr0iLVtSc74NF8ONHIuf3F1ws_gRiVRK1447y-H3RhFozOLKs_4DPH4K_AqIxQ/s1600/Snap10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMQN09-YjqsR1F2gSeVtgftfOeaAdSVg1BraVtn8ysSko5PJkWzWt2F4SwtZgnf9Ak5XjLH59t19RaVr0iLVtSc74NF8ONHIuf3F1ws_gRiVRK1447y-H3RhFozOLKs_4DPH4K_AqIxQ/s1600/Snap10.png" height="164" width="320" /></a></div>
<br />
Z.B. auf XML_Schema_HelloService.<br />
<br />
Jetzt benötigen wir einen Business-Service für den Web Service.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwJgRLjO7MsWrJcUPjIlgxcR9Ll3hNhtzmwouPMZ2DfAtrdosO5kxY7hWaa3XO9e5E57jYQt4veLd100bOxzzv-Nc0nbo84S7ZwXkQb10S521eDbD8JPClhEc2WaRqeSWVSBaV-Tgusw/s1600/Snap26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwJgRLjO7MsWrJcUPjIlgxcR9Ll3hNhtzmwouPMZ2DfAtrdosO5kxY7hWaa3XO9e5E57jYQt4veLd100bOxzzv-Nc0nbo84S7ZwXkQb10S521eDbD8JPClhEc2WaRqeSWVSBaV-Tgusw/s1600/Snap26.png" height="256" width="640" /></a></div>
<br />
Hierfür kann man zunächst einen Ordner 'Business Services' im Projekt anlegen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfcRlfA-a8sUv6hCS1npFXoQ_EPvOvOUTFE0TVwVbTo6HiC6XoryGLDqkwilCL3r_Q0Q_0t3RihtEEG6-zk_IBCXzjNRInjH1PiXwtGmaGV3uoNDnu140vm6TLL36rM-3ZzmJxVRALUA/s1600/Snap27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfcRlfA-a8sUv6hCS1npFXoQ_EPvOvOUTFE0TVwVbTo6HiC6XoryGLDqkwilCL3r_Q0Q_0t3RihtEEG6-zk_IBCXzjNRInjH1PiXwtGmaGV3uoNDnu140vm6TLL36rM-3ZzmJxVRALUA/s1600/Snap27.png" height="448" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Dann in diesem Ordner den Business Service anlegen via 'Create Resource|Business Service'</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj25hPQOKa0Eufn5xsE_293iicChuSxhbpg933w8X7ifSknUVqDwL5FuP-DlIFaIZ5cOaBjVng9_cjv6FWx8o-VSOKAD_JlO5XsBHI8v_R8ShjUYc4_7YH9M8RdsfNSvgDgHxkR2ZIGIg/s1600/Snap28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj25hPQOKa0Eufn5xsE_293iicChuSxhbpg933w8X7ifSknUVqDwL5FuP-DlIFaIZ5cOaBjVng9_cjv6FWx8o-VSOKAD_JlO5XsBHI8v_R8ShjUYc4_7YH9M8RdsfNSvgDgHxkR2ZIGIg/s1600/Snap28.png" height="386" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
WSDL Web Service auswählen und 'Browse'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwqeAjfzHk5s8oyC_WupWaaz-zGexc2v26dsX2a_o0mn19-diuvf6jzop6wVo2k4AXSUCA9mzrfiTfiRVdCjiMwPzH504M-2q7ZFWiVjAxSgqQPmR9d5e_psTs5YsAhFXNJi88qGwvLQ/s1600/Snap14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwqeAjfzHk5s8oyC_WupWaaz-zGexc2v26dsX2a_o0mn19-diuvf6jzop6wVo2k4AXSUCA9mzrfiTfiRVdCjiMwPzH504M-2q7ZFWiVjAxSgqQPmR9d5e_psTs5YsAhFXNJi88qGwvLQ/s1600/Snap14.png" height="244" width="640" /></a></div>
<br />
Hier die eben importierte WSDL auswählen<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQDWIhIDoi3M4SEhBYHMnlAIhKpHeiWgJPsZ-22Fd8K_VnIQlhYAzDUwwDWdlvQJ5rnt_rE7FQwB7Zx4vBeGix9xaxakwQQpgBtasQH65gHrfj4WCtzly7_3w1z-jyqVVPTN7qkeae_Q/s1600/Snap15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQDWIhIDoi3M4SEhBYHMnlAIhKpHeiWgJPsZ-22Fd8K_VnIQlhYAzDUwwDWdlvQJ5rnt_rE7FQwB7Zx4vBeGix9xaxakwQQpgBtasQH65gHrfj4WCtzly7_3w1z-jyqVVPTN7qkeae_Q/s1600/Snap15.png" height="456" width="640" /></a></div>
<br />
Den Port auswählen und mit 'Submit' schliessen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjno9_M7fy9c873ZIluluxTnxP9A449bgEv0QRNeHSMRQa_9Vl_PiFIDc4sOocyJk2eZ2X75-mGM3vdyG138cxS7WsUjMJ1po0RingAV3xABOeGpIDdI200siSFkBzIxlXsQY0669cdKw/s1600/Snap29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjno9_M7fy9c873ZIluluxTnxP9A449bgEv0QRNeHSMRQa_9Vl_PiFIDc4sOocyJk2eZ2X75-mGM3vdyG138cxS7WsUjMJ1po0RingAV3xABOeGpIDdI200siSFkBzIxlXsQY0669cdKw/s1600/Snap29.png" height="384" width="640" /></a></div>
<br />
Die Daten werden übernommen. Noch einen Namen vergeben, dann weiter mit 'Last>>'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsUNS1pf9p_zXuLAG-fb3A1murofS4n3zl_Qr3OuFkI2MiqrESu95mkeGqi66JZpfmEfllNd3l25OmIKWysF05EYp-TRZjC0bEm7MuOC3plsukDXxL9LbPMPutZtm4fX6KpsYBdRngQQ/s1600/Snap17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsUNS1pf9p_zXuLAG-fb3A1murofS4n3zl_Qr3OuFkI2MiqrESu95mkeGqi66JZpfmEfllNd3l25OmIKWysF05EYp-TRZjC0bEm7MuOC3plsukDXxL9LbPMPutZtm4fX6KpsYBdRngQQ/s1600/Snap17.png" height="459" width="640" /></a></div>
<br />
Noch eine Zusammenfassung, abschliessen mit 'Save'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMNgtOG_Y5j8moc2SSxOsoqZg9LqQ2TyhKuE1IX-ZaG9Cr_ZWi99n2XvxLmEmYYvPviX438Cgl7vEkj4rewRpwhA6Wk_Hmdh1cwTvRvMRaDfc1MIPNHba_Zal2zpqBUX8aWy7yP24NtA/s1600/Snap18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMNgtOG_Y5j8moc2SSxOsoqZg9LqQ2TyhKuE1IX-ZaG9Cr_ZWi99n2XvxLmEmYYvPviX438Cgl7vEkj4rewRpwhA6Wk_Hmdh1cwTvRvMRaDfc1MIPNHba_Zal2zpqBUX8aWy7yP24NtA/s1600/Snap18.png" height="386" width="400" /></a></div>
<br />
Dann wird noch der Proxy Service zu dem Business Service benötigt. Hierfür kann man wieder einen Ordner 'Proxy Services' anlegen (wie oben). Dort wird der Business Service dann erstellt über 'Create Resource|Proxy Service'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0_9oJREF6SQr548yPK48GSQ5-aGT9jEAex01NrXCeVyUr9qVyJKWgP8e8zL42uzQoxZtbNr6WuLKJ-P2fqEo5qFz58_uq16yxE0WEUPHqJkIdlPP-VCxV7-sm9VFPW1_Mt5OfAImxQA/s1600/Snap31.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0_9oJREF6SQr548yPK48GSQ5-aGT9jEAex01NrXCeVyUr9qVyJKWgP8e8zL42uzQoxZtbNr6WuLKJ-P2fqEo5qFz58_uq16yxE0WEUPHqJkIdlPP-VCxV7-sm9VFPW1_Mt5OfAImxQA/s1600/Snap31.png" height="320" width="640" /></a></div>
<br />
Hier wird dann ausgewählt 'Create From Existing Service' -> 'Business Service' und weiter geht es mit 'Browse'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq6e9TM2X4NB464JQoxHhyphenhyphenh0xtADIDJ9mYMKkzSNWr3xZzrvX_9jj0ZWZJlE7viZE7xvR6HLKvXzY0-zQLOXRSpK6Actm4h-HGkouL5bsSEBUfvz6yesdezsg4BccQd01p_s5x-6TpIQ/s1600/Snap32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq6e9TM2X4NB464JQoxHhyphenhyphenh0xtADIDJ9mYMKkzSNWr3xZzrvX_9jj0ZWZJlE7viZE7xvR6HLKvXzY0-zQLOXRSpK6Actm4h-HGkouL5bsSEBUfvz6yesdezsg4BccQd01p_s5x-6TpIQ/s1600/Snap32.png" height="266" width="640" /></a></div>
<br />
Hier kann dann der eben angelegte Business Service ausgewählt werden, weiter mit Submit.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJN9ozepGNteULKC7iYUUQCn0Lis4dR9-vr2ot94iFNObdIXtO38FgXiFRmkEg8AibsQS9na5q9fdWN2LXiFH9GrH8wL2BlsAgmKb_Gm9Zujl7dR8KfSOcboigasCTr0UJA-nuFiNX-g/s1600/Snap33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJN9ozepGNteULKC7iYUUQCn0Lis4dR9-vr2ot94iFNObdIXtO38FgXiFRmkEg8AibsQS9na5q9fdWN2LXiFH9GrH8wL2BlsAgmKb_Gm9Zujl7dR8KfSOcboigasCTr0UJA-nuFiNX-g/s1600/Snap33.png" height="398" width="640" /></a></div>
<br />
Die Daten werden übernommen. Noch einen Namen angeben, dann weiter mit 'Next>>'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivG_O9Yl9LrjHdX3JG7VdXyfj-QwA9OQJLL7s_WVMnxcZq_Hxre2nWgjp58hyphenhyphen62e7J93HoKQFTCoh5oJFagmHoAJUtknfUrEP47zX-LJHtykEX9tLDCJBPwEiFJPW5nwJuxNOFwwc5-g/s1600/Snap35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivG_O9Yl9LrjHdX3JG7VdXyfj-QwA9OQJLL7s_WVMnxcZq_Hxre2nWgjp58hyphenhyphen62e7J93HoKQFTCoh5oJFagmHoAJUtknfUrEP47zX-LJHtykEX9tLDCJBPwEiFJPW5nwJuxNOFwwc5-g/s1600/Snap35.png" height="318" width="640" /></a></div>
<br />
Auf der nächsten Seite die vorgeschlagenen Defaults belassen und weiter mit 'Next>>'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhksQscZYyFZpgzUX5mEQEeWDYjIQQfi2Y2Ns2ljuayAhYabMXJJzrSh3Xm0EjWdyABrMrVwVtIzZ-jXjxEz52iD9WrGUvWG2z2VuxNNICKKTGJEQ1C1nvF1gi5GiVzg6HF4Sr2B3kCmw/s1600/Snap36.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhksQscZYyFZpgzUX5mEQEeWDYjIQQfi2Y2Ns2ljuayAhYabMXJJzrSh3Xm0EjWdyABrMrVwVtIzZ-jXjxEz52iD9WrGUvWG2z2VuxNNICKKTGJEQ1C1nvF1gi5GiVzg6HF4Sr2B3kCmw/s1600/Snap36.png" height="268" width="400" /></a></div>
<br />
Auf dieser Seite jetzt die Basic Authentication einschalten. Die weiteren Optionen werden nicht benötigt, daher gleich weiter zum Ende mit 'Last>>'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDRSzbKFFLs6_4cOYb4ISoyZN7U1DR8tX4N-LNORwVJhzOLW6zPM2oBUTfzzcEP9kUk_QVyxM_d3PLl181z8i9rlJfTGBZbNKwGHv5WFeg5QmvXv76tz5DSZITkRCaZLv7XTzbRQgumw/s1600/Snap37.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDRSzbKFFLs6_4cOYb4ISoyZN7U1DR8tX4N-LNORwVJhzOLW6zPM2oBUTfzzcEP9kUk_QVyxM_d3PLl181z8i9rlJfTGBZbNKwGHv5WFeg5QmvXv76tz5DSZITkRCaZLv7XTzbRQgumw/s1600/Snap37.png" height="422" width="640" /></a></div>
<br />
Zusammenfassung und speichern mit 'Save'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifLsWYNfkbSXCLzJIR3CaX0bqprtcdW52YXxU6K6BOi4VxSTd9dFapudGuDW8u7ocH50DPHKxHw7qINYJkWSnmHZtMumzlWpex7ZcCozSwYfn2u4FWmbwreD0HlziN3zd23NwyRZgExg/s1600/Snap38.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifLsWYNfkbSXCLzJIR3CaX0bqprtcdW52YXxU6K6BOi4VxSTd9dFapudGuDW8u7ocH50DPHKxHw7qINYJkWSnmHZtMumzlWpex7ZcCozSwYfn2u4FWmbwreD0HlziN3zd23NwyRZgExg/s1600/Snap38.png" height="358" width="640" /></a></div>
<br />
Jetzt wird alles bis hier erst einmal getestet. Hierzu auf den kleinen Käfer rechts neben dem ProxyService klicken.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOf7Qz_VJcmhjbYBbuu_sRR0pm4r4Le3Av-hJDjyFCbiGdFZrz6iBGpUZvSE-1mXyTg4ttN3SB1mUGOu58S6JbOmkGtE6B-LW44MvJ5giqRE1pxQeguldL-QKHWXR5SGL0lFeHlTrhPw/s1600/Snap39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOf7Qz_VJcmhjbYBbuu_sRR0pm4r4Le3Av-hJDjyFCbiGdFZrz6iBGpUZvSE-1mXyTg4ttN3SB1mUGOu58S6JbOmkGtE6B-LW44MvJ5giqRE1pxQeguldL-QKHWXR5SGL0lFeHlTrhPw/s1600/Snap39.png" height="600" width="640" /></a></div>
<br />
Hier kann man eine passende Payload eingeben und mit 'Execute' den Proxy Service aufrufen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCXje_xdftlDNjWzJv7kEAgaNmcQguFU4LXGYqB2FLuws_Tz9KdhVZ3fTvcOQ5EC8oUvNE9Uw2x9cioQXy24qrP6uD8hU7Hyhm0vxrA6-rMs8YoGpLRNvdn9uK0qmbfpGjkIw8N_ReAA/s1600/Snap40.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCXje_xdftlDNjWzJv7kEAgaNmcQguFU4LXGYqB2FLuws_Tz9KdhVZ3fTvcOQ5EC8oUvNE9Uw2x9cioQXy24qrP6uD8hU7Hyhm0vxrA6-rMs8YoGpLRNvdn9uK0qmbfpGjkIw8N_ReAA/s1600/Snap40.png" height="448" width="640" /></a></div>
<br />
Wenn bis hier alles geklappt hat, zeigt das Response Document die erwartete Antwort an.<br />
<br />
Bis hier wurde also ein bestehender Web Service über den Import seiner WSDL im OSB bekannt gemacht und über je einen Business - und Proxy Service zur Verfügung gestellt. Dabei wurde beim Proxy Service die Basic Authentication eingeschaltet, so dass dieser Service welcher von Haus aus keinerlei Authentifizierung benötigt nur mit einer solchen über den OSB angesprochen werden kann.<br />
<br />
Im nächsten Teil wird gezeigt, wie dieser Service jetzt inclusive Authentifizierung aus der SOA-Suite genutzt werden kann.<br />
<br />
---> <a href="http://fmw-deutsch.blogspot.co.uk/2014/01/handson-basic-authentication-zwischen_30.html" target="_blank">Handson: Basic Authentication zwischen OSB und SOA-Suite (Teil 2)</a>Arne Brüninghttp://www.blogger.com/profile/09522383565268388308noreply@blogger.com0