<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://oracle.sys-con.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>From the Blogosphere</title>
 <link>http://oracle.sys-con.com/</link>
 <description>Latest articles from From the Blogosphere</description>
 <language>en</language>
 <copyright>Copyright 2009 Ulitzer.com</copyright>
 <generator>Ulitzer.com</generator>
 <lastBuildDate>Thu, 10 Dec 2009 04:31:32 EST</lastBuildDate>
 <docs>http://backend.userland.com/rss</docs>
 <ttl>10</ttl>
<item>
 <title>Oracle Faces Growing Price for MySQL</title>
 <link>http://oracle.sys-con.com/node/1203635</link>
 <description>The irony is that Oracle has advanced MySQL, lost money in the process, and helped its competitors - all at the same time. When Oracle buys Sun and controls MySQL the gift (other than to Microsoft SQL Server) keeps on giving as the existential threat to RDBs is managed by Redwood Shores. Oracle has uncharacteristically found itself maneuvered (by its own actions).&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1203635&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 03 Dec 2009 16:00:00 EST</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1203635</guid>
</item>
<item>
 <title>Upgrading WLS Using the Oracle Smart Update Utility</title>
 <link>http://oracle.sys-con.com/node/1206602</link>
 <description>Oracle provides the Smart Update utility to upgrade WebLogic Server installations between versions, or to apply specific patches applied by Oracle Support. This post considers upgrading a 10.3.1 server to 10.3.2, not applying patches.  As usual your mileage may vary so be diligent in checking these instructions beforehand.&lt;br /&gt;&lt;br /&gt;The Oracle Smart Update utility is documented &lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/doc.1111/e14143/toc.htm&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The general steps to run the Oracle Smart Update utility and upgrade the server are as follows:&lt;br /&gt;&lt;br /&gt;1) Ensure your WLS and any managed servers are not running.  In turn it would be a good idea to backup your server before running this procedure, in particular if it&#039;s a production server.&lt;br /&gt;&lt;br /&gt;2) (For whatever reason I couldn&#039;t invoke the following utility from Windows Explorer, so I had to invoke it via the command line)&lt;br /&gt;&lt;br /&gt;2.1) Under Windows open the command prompt at &amp;lt;wls_home&gt;\utils\bsu&lt;br /&gt;&lt;br /&gt;2.2) Execute the bsu.cmd.  This displays the Oracle Smart Update dialog to enter your Oracle Support user ID and password:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SxYE2Za_G5I/AAAAAAAAA3g/BbsI0LyKB2g/s1600-h/su1.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 330px; height: 260px;&quot; src=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SxYE2Za_G5I/AAAAAAAAA3g/BbsI0LyKB2g/s400/su1.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517334915750802&quot; /&gt;&lt;/a&gt;&lt;br /&gt;3) Assuming your login details are correct you&#039;ll be presented with the Oracle Smart Update dialog.  This can take some time to open as the utility scans your existing WLS patches&lt;br /&gt;&lt;br /&gt;4) You may be prompted to &quot;Register for security updates&quot;, take your choice, be annoyingly nagged by Oracle, or miss applying security patches in the future:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxYE2oIUqHI/AAAAAAAAA3o/gXRBBuFneBM/s1600-h/su2.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;&quot; src=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxYE2oIUqHI/AAAAAAAAA3o/gXRBBuFneBM/s400/su2.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517338864003186&quot; /&gt;&lt;/a&gt;&lt;br /&gt;5) The end result:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxYE2z1DcaI/AAAAAAAAA3w/Rck1d056KW0/s1600-h/su3.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxYE2z1DcaI/AAAAAAAAA3w/Rck1d056KW0/s400/su3.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517342004408738&quot; /&gt;&lt;/a&gt;&lt;br /&gt;6) The Target Installation tree on the left hand side shows you the WLS servers the patch engine will work with.  We&#039;re not interested in the content on the right.  Presumably it includes one off patches to apply as supplied by Oracle Support, or hot security fixes applying to all WLS installations.  I&#039;ve yet to see one of these so can&#039;t comment on what you&#039;ll actually see.&lt;br /&gt;&lt;br /&gt;7) To upgrade your WLS between versions you apply a &quot;Maintenance Pack&quot;.  Click on the same named menu option followed by the sub-option Update.  This launches the BEA Smart Update dialog.  On selecting your existing WLS server in the left tree, you&#039;ll see the option to apply the Upgrade Option in the right, in this case specifically WebLogic Platform (10.3.2.0):&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SxYE3W-_2qI/AAAAAAAAA34/VJdYgFk-KGE/s1600-h/su4.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 400px;&quot; src=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SxYE3W-_2qI/AAAAAAAAA34/VJdYgFk-KGE/s400/su4.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517351441357474&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The Oracle documentation for Maintenance Pack installations is &lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/doc.1111/e14143/service.htm#i1075086&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;8) Selecting the Ok button will display a download dialog:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SxYE3t1Ws9I/AAAAAAAAA4A/-NpwGD5vSX0/s1600-h/su5.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 226px;&quot; src=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SxYE3t1Ws9I/AAAAAAAAA4A/-NpwGD5vSX0/s400/su5.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517357574927314&quot; /&gt;&lt;/a&gt;&lt;br /&gt;9) On the file downloading you&#039;ll be presented with the Oracle Installer for WebLogic 10.3.2.0:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxYFBjoAsXI/AAAAAAAAA4I/CPlW-A21tXU/s1600-h/su6.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 287px;&quot; src=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxYFBjoAsXI/AAAAAAAAA4I/CPlW-A21tXU/s400/su6.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517526633296242&quot; /&gt;&lt;/a&gt;&lt;br /&gt;10) Again you&#039;ll get a chance to &quot;Register for security updates&quot;.  Be brave and skip it:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFCC-V-WI/AAAAAAAAA4Q/9Wd_qtogcOg/s1600-h/su7.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 287px;&quot; src=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFCC-V-WI/AAAAAAAAA4Q/9Wd_qtogcOg/s400/su7.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517535048464738&quot; /&gt;&lt;/a&gt;&lt;br /&gt;11) The next page allows you to specify the download location of any additional files, whether the files should be removed after installation, and the HTTP Proxy options to get through your firewall including username and password:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFCWkozjI/AAAAAAAAA4Y/oVkaLKkKtKs/s1600-h/su8.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 287px;&quot; src=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFCWkozjI/AAAAAAAAA4Y/oVkaLKkKtKs/s400/su8.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517540309356082&quot; /&gt;&lt;/a&gt;&lt;br /&gt;12) You&#039;ll then get another download screen and a chance for a coffee or 2 (make that 4):&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFCtNvJPI/AAAAAAAAA4g/-qSRjxg9fG8/s1600-h/su9.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 287px;&quot; src=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFCtNvJPI/AAAAAAAAA4g/-qSRjxg9fG8/s400/su9.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517546387318002&quot; /&gt;&lt;/a&gt;&lt;br /&gt;If the downloads fails half way through, don&#039;t give up as the download utility supports resumes, just wait for it to timeout and then ask it to continue downloading.&lt;br /&gt;&lt;br /&gt;13) You&#039;ll then be given one last chance to back out:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFCwEKEeI/AAAAAAAAA4o/pY7ZgAhfWCg/s1600-h/su10.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 287px;&quot; src=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFCwEKEeI/AAAAAAAAA4o/pY7ZgAhfWCg/s400/su10.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517547152445922&quot; /&gt;&lt;/a&gt;&lt;br /&gt;14) After which there&#039;s no backing out:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFNcEEx0I/AAAAAAAAA4w/xQacdb3y1Ko/s1600-h/su11.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 287px;&quot; src=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFNcEEx0I/AAAAAAAAA4w/xQacdb3y1Ko/s400/su11.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517730761951042&quot; /&gt;&lt;/a&gt;&lt;br /&gt;15) Just click Done on the final page.  If the QuickStart dialog shows, close it:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SxYFNhB662I/AAAAAAAAA44/e4D1djIFnso/s1600-h/su12.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 274px;&quot; src=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SxYFNhB662I/AAAAAAAAA44/e4D1djIFnso/s400/su12.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517732095093602&quot; /&gt;&lt;/a&gt;&lt;br /&gt;16) In turn the BEA Smart Upgrade dialog will also show detailing the new 10.3.2 upgrade.  You&#039;ll note in the lower part of the right window, you can downgrade from 10.3.2 to 10.3.1 if necessary.  You can close this dialog:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxYFN2CPB2I/AAAAAAAAA5A/-7fMxVdqhtQ/s1600-h/su13.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 400px;&quot; src=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxYFN2CPB2I/AAAAAAAAA5A/-7fMxVdqhtQ/s400/su13.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517737733556066&quot; /&gt;&lt;/a&gt;&lt;br /&gt;17) Returning to the Oracle Smart Update window it&#039;ll misreport the current version which you can ignore.&lt;br /&gt;&lt;br /&gt;18) To verify the install the easiest thing is to start your managed servers and then access the console login.  At the bottom of the page you&#039;ll see the server version:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFOSdY7EI/AAAAAAAAA5I/r9LY5rlOghc/s1600-h/su14.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 268px;&quot; src=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxYFOSdY7EI/AAAAAAAAA5I/r9LY5rlOghc/s400/su14.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5410517745363643458&quot; /&gt;&lt;/a&gt;&lt;br /&gt;19) It&#039;s probably worth investigating the server logs to see if any unexpected exceptions have been thrown.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/38586079-2710849676323572544?l=one-size-doesnt-fit-all.blogspot.com&#039; alt=&#039;&#039; /&gt;&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/OneSizeDoesntFitAll/~4/omh6sHM6X-w&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1206602&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 02 Dec 2009 09:15:00 EST</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1206602</guid>
</item>
<item>
 <title>Oracle Dynamic Tabs Shell - ADF 11gR1 – UI Shell </title>
 <link>http://oracle.sys-con.com/node/1202777</link>
 <description>In the latest release of JDeveloper, specifically 11.1.1.2.0 also known as 11g Release 1 also known as Patch Set 1 also known as 11g build 5536 also known as the Shepherd build (cough cough Oracle), Oracle has included a new built in page template known as the &quot;Oracle Dynamic Tabs Shell&quot;.  This template is part of Oracle&#039;s &lt;a href=&quot;http://www.oracle.com/technology/products/adf/patterns/index.html&quot;&gt;ADF Functional Patterns and Best Practices&lt;/a&gt; efforts, also referred to as the &quot;UI Shell&quot;. Complete documentation is available &lt;a href=&quot;http://www.oracle.com/technology/products/adf/patterns/11/uishell.html&quot;&gt;here&lt;/a&gt;.  I&#039;ll leave readers unfamiliar with the UI Shell to read Oracle&#039;s documentation to understand the basics.&lt;br /&gt;&lt;br /&gt;With my current client we&#039;re happy with the inclusion of this new UI Shell and we can actively see ourselves using it in the near future.  What I wanted to document is my own thoughts and research which may be of use to others, and I hope to further the discussion on the &lt;a href=&quot;http://groups.google.com/group/adf-methodology/browse_thread/thread/f84bdcec40b7819f?hl=en&quot;&gt;ADF EMG&lt;/a&gt;.  Note as usual your mileage may vary so take time out to check the facts listed here:&lt;br /&gt;&lt;br /&gt;1) The Create JSF Page dialog presents the &quot;Oracle Dynamic Tabs Shell&quot; page template option:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxNJYCjctLI/AAAAAAAAA2w/4Hvqaq9DCdg/s1600/ui1.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 258px;&quot; src=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SxNJYCjctLI/AAAAAAAAA2w/4Hvqaq9DCdg/s400/ui1.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5409748254753338546&quot; /&gt;&lt;/a&gt;&lt;br /&gt;2) The template and its supporting classes are installed in &amp;lt;jdev_home&gt;/jdeveloper/adfv/jlib/oracle-page-templates-ext.jar, though the JDev IDE takes care of importing the template and classes/libraries into your project for you once selected in the Create JSF Page dialog.  As the following picture shows an additional library Oracle Extended Page Templates is added to your project:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SxNJYiwIQEI/AAAAAAAAA24/V_LJeYLROI0/s1600/ui2.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 350px;&quot; src=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SxNJYiwIQEI/AAAAAAAAA24/V_LJeYLROI0/s400/ui2.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5409748263396458562&quot; /&gt;&lt;/a&gt;Side note: Steve Muench has blogged the location of the UI Shell template and supporting classes as a separate download &lt;a href=&quot;http://blogs.oracle.com/smuenchadf/2009/11/source_for_ps1_dynamic_tab_she.html&quot;&gt;here&lt;/a&gt;.  This will allow you to take the default UI Shell template and customise to your needs if required.  See further points below for why this may be necessary.&lt;br /&gt;&lt;br /&gt;2) Our technical team was already getting bogged down in &quot;discussions&quot; of &quot;standard&quot; web page layouts versus RIA layouts.  The technical team knows the standard web page layouts weren&#039;t suited to RIA applications, but it was hard to argue our case without actually creating a RIA layout.  In turn creating a RIA layout that we were happy with was going to take some time, and we&#039;re building applications now.  With the UI Shell we can short cut the layout &quot;discussions&quot;, say this is what Oracle&#039;s provided us, it works well and this is what we&#039;ll use, allowing us to focus on the more important matter of hand and that&#039;s writing the ADF solution for the business.&lt;br /&gt;&lt;br /&gt;3) Our overall application is made up of several subsystems (think Oracle Apps with HR, Procurement, Payroll etc).  Within the UI Shell the globalTabs facet provides an ideal location to list the subsystems allowing the user to switch between each module:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxNJY6jiKeI/AAAAAAAAA3A/0sbVrvQ7FD8/s1600/ui3.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 112px;&quot; src=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxNJY6jiKeI/AAAAAAAAA3A/0sbVrvQ7FD8/s400/ui3.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5409748269786081762&quot; /&gt;&lt;/a&gt;4) Each subsystem gets its own page based on the template, as in hr.jspx, procurement.jspx and payroll.jspx based on our example.&lt;br /&gt;&lt;br /&gt;5) The rest of the application is made up of a number &quot;Activities&quot; that in essence are bounded task flows using page fragments, or in other words the business processes of your application.  Each subsystem is free to make use of as many bounded task flows as it sees fit, and in addition a bounded task flow can be used (shared) by many of the subsystem pages.&lt;br /&gt;&lt;br /&gt;6) As per the previous point, if you&#039;re using the default UI Shell provided through JDeveloper rather than downloading the UI Shell as per Steve Muench&#039;s blog above, and you wish to have a common element in every page using the template, you&#039;ll need to code them in every page which isn&#039;t ideal.  The solution is to download Oracle&#039;s template and customise it within your own application (or possibly create a number of declarative page components for repetitive content, though this will still require you to load each page component in each page based on the UI Shell template).&lt;br /&gt;&lt;br /&gt;7) A key feature of the UI Shell as described in its other name &quot;Oracle Dynamic Tabs Shell&quot; is it shows under each subsystem how to launch a bounded task flow (aka Activity) one or many times:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SxNJfFM__II/AAAAAAAAA3Y/Awb9o8nH8mk/s1600/ui6.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 271px;&quot; src=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SxNJfFM__II/AAAAAAAAA3Y/Awb9o8nH8mk/s400/ui6.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5409748375723572354&quot; /&gt;&lt;/a&gt;This may not be ideal for every application, but my current client has a scenario in an existing Oracle Forms application where users open up to 4 sessions.  While we&#039;re not sure on building an ADF equivalent with a chance to redesign the users&#039; workflow will they still need to do this, if they do we&#039;re envisaging that each session can now be as a separate UI Shell Activity under the subsystem page.&lt;br /&gt;&lt;br /&gt;8) As discussed in the following ADF EMG &lt;a href=&quot;http://groups.google.com/group/adf-methodology/browse_thread/thread/e7c9d557ab03b1cb?hl=en&quot;&gt;thread&lt;/a&gt; the UI Shell makes a great addition to the &quot;Master JDev Application Workspace&quot; proposed by Todd Hill bringing a number of composite ADF bounded task flows together.&lt;br /&gt;&lt;br /&gt;9) The demonstration UI Shell application shows a basic mechanism of stopping a user leaving an activity once they&#039;ve made &quot;it dirty&quot;.  The analogy to this is in the JDev IDE when the user changes the contents of a source file, the tab control title font becomes italic and the user is warned/prompted to save changes if they attempt to close the tab without saving.&lt;br /&gt;&lt;br /&gt;Currently this feature should be considered a demonstration feature only as in the downloadable UI Shell demonstration application it has a number of limitations (it is a demo after all).  In particular the isDirty() check is only done within a subsystem&#039;s activities.  Clicking on a different subsystem tab/page doesn&#039;t invoke the isDirty() check with the appropriate warning dialog.  It would be my assumption that this check would need to be coded in each specific application, reusing the isDirty() facilities provided.&lt;br /&gt;&lt;br /&gt;10) For the logoImagePath attribute you can specify the path of the UI Shell log image, but not the size.  In the turn the layout tends to assume a horizontal logo.  If corporate branding is important to your organisation and they have a long vertical logo, good luck.&lt;br /&gt;&lt;br /&gt;11) The default UI Shell has no consideration of security.  For instance what subsystems are available under the globalTabs for the current user is your responsibility&lt;br /&gt;&lt;br /&gt;12) The overall template does waste some vertical screen real-estate:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxNJZCJRpdI/AAAAAAAAA3I/oVBJde4YIRo/s1600/ui4.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 318px;&quot; src=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SxNJZCJRpdI/AAAAAAAAA3I/oVBJde4YIRo/s400/ui4.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5409748271823431122&quot; /&gt;&lt;/a&gt;See annotations A, B and C.&lt;br /&gt;&lt;br /&gt;A can be trimmed by setting the globalSplitterPosition attribute.  At this time it doesn&#039;t look like B and C can be set in the default UI Shell.  Ideally we&#039;d want something like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SxNJZYL53dI/AAAAAAAAA3Q/na2NJtbfqcA/s1600/ui5.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 322px;&quot; src=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SxNJZYL53dI/AAAAAAAAA3Q/na2NJtbfqcA/s400/ui5.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5409748277740035538&quot; /&gt;&lt;/a&gt;13) The overall template is extremely small – only 74k – wow, Oracle can create something that doesn&#039;t take up an entire CD! ;-)&lt;br /&gt;&lt;br /&gt;14) I note in the source code downloadable from Steve Muench&#039;s blog that there are a few comments that the implementation will change dependent on later updates to the ADF component set presumably available in later JDev releases (ie. see the TabContext.java REMOVE_ME_WHEN_NAVPANE_SUPPORTS_STAMPING comment).&lt;br /&gt;&lt;br /&gt;This implies the default functionality of the UI Shell could change in the future which could have issues for your existing applications based on the UI Shell and therefore your regression testing and user experience.  It may be necessary to source the UI Shell code and baseline in your code repository rather than being subjected to changes in functionality on upgrading to future JDev releases.&lt;br /&gt;&lt;br /&gt;15) As per the UI Shell whitepaper, the 7 zillion steps to reproduce the demonstration UI Shell application do look daunting.  However if you&#039;re familiar with JDev, page templates and constructing JSF pages it only takes about 20-30 minutes to run through most of the steps.  In fact most steps are just setting up dummy task flows and page fragments to show some content within the produced template, nothing really to do with the template itself.&lt;br /&gt;&lt;br /&gt;16) You&#039;ll need to remind users/analysts/managers etc that what the UI Shell gives in preconfigured layouts, saving developers time and boosting productivity, it takes away in customizable layout of the screen.  This is a common point of contention in component based frameworks where a super component gives a large array of features, but the component works as the component works and cannot be easily customised without headache.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/38586079-6440026580328519387?l=one-size-doesnt-fit-all.blogspot.com&#039; alt=&#039;&#039; /&gt;&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/OneSizeDoesntFitAll/~4/ce5PvdTToxc&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1202777&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 30 Nov 2009 10:30:00 EST</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1202777</guid>
</item>
<item>
 <title>Oracle Fusion Middleware Deployment Guides</title>
 <link>http://oracle.sys-con.com/node/1185198</link>
 <description>&lt;p&gt;Well hello again!&lt;/p&gt;  &lt;p&gt;After a week off with H1N1 (don’t get it, you really won’t like it), and another week or two catching up, I’m finally back in the saddle and there’s plenty to talk about – some of it stuff I should have been talking about weeks ago. &lt;/p&gt;  &lt;p&gt;Today we’ll discuss the &lt;a href=&quot;http://www.f5.com/solutions/resources/deployment-guides/ &quot; target=&quot;_blank&quot;&gt;Deployment Guides&lt;/a&gt; some smart folks here at F5 have thrown together to go with the Oracle Fusion Middleware Enterprise Deployment guides (that some smart folks at Oracle threw together).&lt;/p&gt;  &lt;p&gt;First up, props to &lt;a href=&quot;http://www.oracle.com&quot; target=&quot;_blank&quot;&gt;Oracle&lt;/a&gt; for an astounding &lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/admin.htm&quot; target=&quot;_blank&quot;&gt;document library&lt;/a&gt; that you can access sans login. It’s not new, but if you’re not familiar with it, check it out.&lt;/p&gt;  &lt;p&gt;What our staff did is take the documents from their library that reference places where BIG-IPs fit in, and created complimentary documents to show how to configure your BIG-IP to fit the Oracle Fusion Ecosystem.&lt;/p&gt;  &lt;p&gt;So here is the list of Oracle documents, and F5 complimentary documents. Between them, you can make your Oracle Fusion environment adaptable, reliable, and zippy. At least I claim you can :-).&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;1373&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;704&quot;&gt;Oracle Enterprise Deployment Guide&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;667&quot;&gt;F5 Deployment Guide&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;704&quot;&gt;&lt;b&gt;Oracle® Fusion Middleware Enterprise Deployment Guide for Oracle Identity Management           &lt;br /&gt;11&lt;i&gt;g&lt;/i&gt; Release 1 (11.1.1)            &lt;br /&gt;&lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/core.1111/e12035/toc.htm&quot;&gt;http://download.oracle.com/docs/cd/E12839_01/core.1111/e12035/toc.htm&lt;/a&gt;            &lt;br /&gt;(see Section 2.2.1)&lt;/b&gt;&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;667&quot;&gt;&lt;strong&gt;Deploying F5 with Oracle Fusion Middleware Identify Management 11gR1           &lt;br /&gt;&lt;/strong&gt;&lt;a href=&quot;http://www.f5.com/pdf/deployment-guides/oracle-identity-management-big-ip-dg.pdf&quot;&gt;http://www.f5.com/pdf/deployment-guides/oracle-identity-management-big-ip-dg.pdf&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;704&quot;&gt;&lt;b&gt;Oracle® Fusion Middleware Enterprise Deployment Guide for Oracle SOA Suite           &lt;br /&gt;11&lt;i&gt;g&lt;/i&gt; Release 1 (11.1.1)            &lt;br /&gt;            &lt;p&gt;&lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/core.1111/e12036/toc.htm&quot;&gt;http://download.oracle.com/docs/cd/E12839_01/core.1111/e12036/toc.htm&lt;/a&gt; &lt;/p&gt;            &lt;p&gt;(see Section 2.2.2)&lt;/p&gt;         &lt;/b&gt;&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;667&quot;&gt;         &lt;p&gt;&lt;strong&gt;Deploying F5 with the Oracle Fusion Middleware SOA Suite 11gR1&lt;/strong&gt; &lt;/p&gt;          &lt;p&gt;&lt;a href=&quot;http://www.f5.com/pdf/deployment-guides/oracle-soa-big-ip-dg.pdf&quot;&gt;http://www.f5.com/pdf/deployment-guides/oracle-soa-big-ip-dg.pdf&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;704&quot;&gt;         &lt;p&gt;&lt;b&gt;Oracle® Fusion Middleware Enterprise Deployment Guide for Oracle WebCenter             &lt;br /&gt;11&lt;i&gt;g&lt;/i&gt; Release 1 (11.1.1)&lt;/b&gt; &lt;/p&gt;          &lt;p&gt;&lt;b /&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/core.1111/e12037/toc.htm&quot;&gt;http://download.oracle.com/docs/cd/E12839_01/core.1111/e12037/toc.htm&lt;/a&gt; &lt;/p&gt;          &lt;p&gt;&lt;strong&gt;(see Section 2.2.2)&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;667&quot;&gt;         &lt;p&gt;&lt;strong&gt;Deploying F5 with Oracle Fusion Middleware WebCenter 11gR1&lt;/strong&gt; &lt;/p&gt;          &lt;p&gt;&lt;a href=&quot;http://www.f5.com/pdf/deployment-guides/oracle-webcenter-big-ip-dg.pdf&quot;&gt;http://www.f5.com/pdf/deployment-guides/oracle-webcenter-big-ip-dg.pdf&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;I’d love to take credit for this chart or any of its contents, but this time I’m just the messenger, other people created all of the content, and the chart is essentially a recreation of one I received via email. If you’re using Fusion Middleware and have F5 gear in-house, they’re worth checking out to see how you can benefit from them.&lt;/p&gt;  &lt;p&gt;And that gets me back into the blogging groove… Expect to hear more from me in the near future.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Don.&lt;/p&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/dmacvittie/aggbug/6203.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1185198&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 13 Nov 2009 10:30:00 EST</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1185198</guid>
</item>
<item>
 <title>Reality Check at the Cloud Computing Expo</title>
 <link>http://oracle.sys-con.com/node/1175525</link>
 <description>The talk at the Cloud Computing Expo this week in Santa Clara was all about enterprise cloud adoption. Is it real? Is it already happening? If so, who’s doing it, which applications are they running and which clouds are being tested? To a large extent, cloud computing is a victim of its own somewhat out-of-control hype cycle. Since so much has been written and discussed about the cloud in 2009, there is now a growing impatience for actual results. The fact that 2000 people showed up at the Cloud Expo in Santa Clara this week (double the number from last year’s show) suggests that at the very least, interest in enterprise cloud computing remains very real, and the need for practical solutions and use cases is growing more urgent.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1175525&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 09 Nov 2009 20:30:00 EST</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1175525</guid>
</item>
<item>
 <title>Cloud, The New Taste of the Internet</title>
 <link>http://oracle.sys-con.com/node/1177105</link>
 <description>Lately there seems to be a minor debate among the &lt;a href=&quot;http://twitter.com/clouderati/all/members&quot;&gt;clouderati&lt;/a&gt; about the semantic  differences between the term &quot;the cloud&quot; versus the use of &quot;cloud computing&quot;.  So I thought I&#039;d jump into the fray.&lt;br /&gt;&lt;br /&gt;As someone who spends his days eating, breathing and sometimes drinking cloud computing, it&#039;s fun to see how the debate has recently devolved  into a debate purely  focused upon the finer semantic nuances of the various terminologies. The debate seems to generally focus on the varied usages within the companies that are attempting to &quot;cloud-ify&quot; themselves &amp;amp; their products/services. This cloudification seems to be the trend du&#039;jour within the technology industry, an attempt to augment marketing materials and or product positioning to include cloud related buzz words, whether they make sense or not.&lt;br /&gt;&lt;br /&gt;Actually one of the better stated criticism comes from Oracle CEO Larry Ellison who observes that cloud computing has been defined as &quot;everything&quot;. It&#039;s everything and nothing in particular, a trendy word that is used more to impress than explain a particular problem. I for one completely agree.&lt;br /&gt;&lt;br /&gt;As a marketing term, cloud has enabled us to broadly define the movement away from the desktop / server centric past to the cloud [Internet] enabled future.  &lt;a href=&quot;http://en.wikipedia.org/wiki/Cloud_computing&quot;&gt;Wikipedia&#039;s&lt;/a&gt; cloud definition says it well, &quot;it is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Paradigm_shift&quot; title=&quot;Paradigm shift&quot;&gt;paradigm shift&lt;/a&gt;  where technological details are abstracted from the users who no longer need knowledge of, expertise in, or control over the technology infrastructure &quot;in the cloud&quot; that supports them&quot;. Yup, enough said.&lt;br /&gt;&lt;br /&gt;This message is to of you -- the ones who are jumping on the cloud bandwagon, let me say this as plainly as possible. Regardless of whether it&#039;s &quot;the cloud&quot; or &quot;cloud computing&quot; it all comes back to the fact that it&#039;s a &lt;a class=&quot;zem_slink&quot; href=&quot;http://en.wikipedia.org/wiki/Buzzword&quot; title=&quot;Buzzword&quot; rel=&quot;wikipedia&quot;&gt;buzzword&lt;/a&gt;. A way to say we&#039;re cool, we&#039;re now, we&#039;re new, with out saying it directly (&lt;a href=&quot;http://en.wikipedia.org/wiki/Neologism&quot;&gt;a &lt;em&gt;neologism&lt;/em&gt;&lt;/a&gt;). It&#039;s the &lt;a href=&quot;http://en.wikipedia.org/wiki/New_Coke&quot;&gt;New Coke of Computing&lt;/a&gt; / the new taste of the Internet.&lt;br /&gt;&lt;br /&gt;So what is The Cloud? It&#039;s the Internet. And what is Cloud Computing? It&#039;s the next big thing in computing, it&#039;s using the Internet.   &lt;div style=&quot;margin-top: 10px; height: 15px;&quot; class=&quot;zemanta-pixie&quot;&gt;&lt;a class=&quot;zemanta-pixie-a&quot; href=&quot;http://reblog.zemanta.com/zemified/200e1e97-1e37-445e-9a46-9d4b9697556d/&quot; title=&quot;Reblog this post [with Zemanta]&quot;&gt;&lt;img style=&quot;border: medium none ; float: right;&quot; class=&quot;zemanta-pixie-img&quot; src=&quot;http://img.zemanta.com/reblog_e.png?x-id=200e1e97-1e37-445e-9a46-9d4b9697556d&quot; alt=&quot;Reblog this post [with Zemanta]&quot; /&gt;&lt;/a&gt;&lt;span class=&quot;zem-script more-related pretty-attribution&quot;&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://static.zemanta.com/readside/loader.js&quot; defer=&quot;defer&quot;&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;br /&gt;
&lt;hr /&gt;
&lt;a href=&quot;http://www.enomaly.com&quot;&gt;Announcing The Enomaly Cloud Service Provider Edition&lt;/a&gt; | &lt;a href=&quot;http://www.twitter.com/ruv&quot;&gt;Twitter Me&lt;/a&gt; | &lt;a href=&quot;http://www.linkedin.com/in/reuvencohen&quot;&gt;Get Linkedin&lt;/a&gt; | &lt;a href=&quot;https://cloudcomputing.wufoo.com/forms/contact-reuven/&quot;&gt;Contact Reuven&lt;/a&gt; | &lt;a href=&quot;http://www.elasticvapor.com/2009/05/elasticvapor-disclosure-policy.html&quot;&gt;Disclosure Policy&lt;/a&gt;
&lt;hr /&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/4159824378751259880-570976439781136397?l=www.elasticvapor.com&#039;/&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=b_uGUIInu8I:S4C-BM8kUo8:4cEx4HpKnUU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?i=b_uGUIInu8I:S4C-BM8kUo8:4cEx4HpKnUU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=b_uGUIInu8I:S4C-BM8kUo8:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=b_uGUIInu8I:S4C-BM8kUo8:63t7Ie-LG7Y&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?d=63t7Ie-LG7Y&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=b_uGUIInu8I:S4C-BM8kUo8:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=b_uGUIInu8I:S4C-BM8kUo8:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=b_uGUIInu8I:S4C-BM8kUo8:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?i=b_uGUIInu8I:S4C-BM8kUo8:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=b_uGUIInu8I:S4C-BM8kUo8:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?i=b_uGUIInu8I:S4C-BM8kUo8:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Elasticvapor/~4/b_uGUIInu8I&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1177105&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 09 Nov 2009 19:45:00 EST</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1177105</guid>
</item>
<item>
 <title>ODTUG Down Under – More ACEs than a Pack of Cards</title>
 <link>http://oracle.sys-con.com/node/1169469</link>
 <description>Regular readers already know that ODTUG in conjunction with Oracle Technology Network has invited a number of Oracle ACEs and ACE Directors to present down under. ODTUG has teamed with AUSOUG to give these world recognized presenters (in fact in all cases world award winning speakers) full day slots at the conference that starts next week.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1169469&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 02 Nov 2009 19:50:00 EST</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1169469</guid>
</item>
<item>
 <title>HL7 Interface Engines</title>
 <link>http://oracle.sys-con.com/node/1154179</link>
 <description>So what do you really look for in an interface engine? There is more to an IE than just being a pass-through of messages.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1154179&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 29 Oct 2009 15:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1154179</guid>
</item>
<item>
 <title>Getting Past Gate Keepers</title>
 <link>http://oracle.sys-con.com/node/1148132</link>
 <description>By Tom Hopkins
In business situations, when you are trying to reach the person who has the authority to make decisions regarding your product you are very likely to have to go through one or more people before reaching that person. For the sake of efficiency, there will likely be a receptionist and/or assistant who takes the initial calls for the decision-maker.
It&amp;#8217;s important that you realize most assistants are taught to protect decision-makers. Or, shall we say, screen calls so the decision-makers only speak with the [...]&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1148132&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 29 Oct 2009 11:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1148132</guid>
</item>
<item>
 <title>Working with WLS 10.3.1 SQLAuthenticator Password Algorithms</title>
 <link>http://oracle.sys-con.com/node/1159532</link>
 <description>In the &lt;a href=&quot;http://one-size-doesnt-fit-all.blogspot.com/2009/10/part-i-working-with-wls-1031.html&quot;&gt;previous post&lt;/a&gt; we looked at how to configure the SQLAuthenticator password encryption options.  Among other encryption algorithms we discovered that on creating a user from the WLS console, WLS would create the associated user in a database table with password &quot;password&quot; encrypted to:&lt;br /&gt;&lt;br /&gt;{SHA-1}W6ph5Mm5Pz8GgiULbPgzG37mj9g=&lt;br /&gt;&lt;br /&gt;...when the SHA-1 option was set.&lt;br /&gt;&lt;br /&gt;As was mentioned in the previous post, as the database table with its users and passwords may be shared by non-WLS based applications, it&#039;s important that those systems can encrypt passwords and compare them to the WLS result.  In other words, in the example above, given that WLS generated a SHA-1 encrypted password, if another system uses the same SHA-1 algorithm will it generate the same encrypted password allowing it to compare the database SHA-1 encrypted password against the SHA-1 encrypted password it has?&lt;br /&gt;&lt;br /&gt;In order to check we can get the same encrypted results, we&#039;ll investigate generating a SHA-1 password using the Oracle database&#039;s encryption facilities (so in this case the database acts as the other subsystem), comparing the database&#039;s encrypted SHA-1 password to that of WLS.&lt;br /&gt;&lt;br /&gt;The following solution owes thanks to Sean at Oracle Support who very patiently led me in the right direction with my findings.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;dbms_crypto&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Oracle database fans will be familiar with the &lt;a href=&quot;http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_crypto.htm#BJFCGDIC&quot;&gt;dbms_crypto&lt;/a&gt; package that provides encryption support.&lt;br /&gt;&lt;br /&gt;dbms_crypto allows us to generate an encrypted password that we can compare to the WLS result.  From table 34-1 of the dbms_crypto link, we note that dbms_crypto supports the following one-way hash algorithms: SHA-1, MD4 and MD5.  As WLS via the JCE extensions (see the previous post) supports SHA-1, MD2 and MD5, it&#039;s fortunate we picked SHA-1 for this example.&lt;br /&gt;&lt;br /&gt;The following anonymous PL/SQL block shows an example using the dbms_crypto package hash function with SHA-1 to produce an encrypted result:&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;&lt;br /&gt;DECLARE&lt;br /&gt;  input_string  VARCHAR2(8);&lt;br /&gt;  raw_input     RAW(128);&lt;br /&gt;  encrypted_raw RAW(2048);&lt;br /&gt;BEGIN&lt;br /&gt;  input_string := &#039;password&#039;;&lt;br /&gt;  raw_input    := utl_raw.cast_to_raw(convert(input_string, &#039;AL32UTF8&#039;,&#039;US7ASCII&#039;));&lt;br /&gt;&lt;br /&gt;  encrypted_raw := dbms_crypto.hash(src =&gt; raw_input, typ =&gt; dbms_crypto.hash_sh1);&lt;br /&gt;  dbms_output.put_line(&#039;Output: &#039; || encrypted_raw);&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;Output: 5BAA61E4C9B93F3F0682250B6CF8331B7EE68FD8&lt;/pre&gt;Note the output, a hex value, and doesn&#039;t match our WLS output for the same plaintext password &quot;password&quot; encrypted with SHA-1.&lt;br /&gt;&lt;br /&gt;The missing bit of information (that I haven&#039;t found documented) is that WLS after encrypting the plaintext password, as confirmed by Oracle Support, WLS then converts the output to base 64.  In the case of the dbms_crypto hash function, it converts the encrypted result to Hex.  In order to get the same result you need to convert the Hex output to base 64.&lt;br /&gt;&lt;br /&gt;There&#039;s a number of different ways to do this.  One is to use a Java routine in the database, converting the dbms_crypto Hex result to a byte array, then byte array to base 64.  A suitable algorithm would be:&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;&lt;br /&gt;byte[] bytearray = hexStringToByteArray(&quot;5BAA61E4C9B93F3F0682250B6CF8331B7EE68FD8&quot;);&lt;br /&gt;String base64encoded = new BASE64Encoder().encodeBuffer(bytearray);&lt;/pre&gt;...where the hexStringToByteArray function is borrowed from Dave L on &lt;a href=&quot;http://stackoverflow.com/questions/140131/convert-a-string-representation-of-a-hex-dump-to-a-byte-array-using-java&quot;&gt;StackOverflow&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The end result is: W6ph5Mm5Pz8GgiULbPgzG37mj9g= ... finally matching what WLS wrote to the database (missing the algorithm prefix of course).&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Why the WebLogic Server&#039;s SQLAuthenticator can make use of different encryption algorithm when writing to the database, it&#039;s important to ensure that the results are expected and understood and can be used by other subsystems.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/38586079-9056575003088041413?l=one-size-doesnt-fit-all.blogspot.com&#039;/&gt;&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/OneSizeDoesntFitAll/~4/L3EavdFuwnM&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1159532&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 27 Oct 2009 11:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1159532</guid>
</item>
<item>
 <title>That’s a Lotta Data</title>
 <link>http://oracle.sys-con.com/node/1157295</link>
 <description>Ok, so I am a Software guy but I am posting about hardware devices. Maybe when it comes to hardware I am easily impressed? I promised to post information about interesting products and as someone who owned one of the first 5MB hard drives attached to a personal computer I guess I am in awe [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=charlieisaacs.wordpress.com&amp;blog=7447211&amp;post=37&amp;subd=charlieisaacs&amp;ref=&amp;feed=1&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1157295&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 25 Oct 2009 10:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1157295</guid>
</item>
<item>
 <title>Oracle OpenWorld 2009 Is Done But the Challenge Begins!</title>
 <link>http://oracle.sys-con.com/node/1157294</link>
 <description>What can I say, Oracle OpenWorld 2009 was a great show all around. Professionally run, great companies, great exhibit areas, and exceptional presentations. The big surprise to me was seeing Arnold Schwarzenegger on stage with Larry. Which is a great segue into my first topic for my OOW09 notes on the show. The amazing Exadata 2 and the challenge presented to IBM.

After Arnold left the stage, Larry made the comment &quot;IBM, take the [Exadata challenge] and make our day.  Oh, that is a different action hero, sorry.&quot;
&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1157294&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 25 Oct 2009 10:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1157294</guid>
</item>
<item>
 <title>Mike Rowe From Dirty Jobs Could Use This Technology</title>
 <link>http://oracle.sys-con.com/node/1157297</link>
 <description>Voice-Insight (&lt;a href=&quot;http://www.voice-insight.com&quot; title=&quot;http://www.voice-insight.com&quot;&gt;http://www.voice-insight.com&lt;/a&gt; ) was at the show and was demonstrating and talking about some of its technology and some of their R&amp;D projects. Voice-Insight is not necessarily focusing on SOA or services; most of their appeal comes from integration to other technologies.Voice-Insight built its own voice language (VQLTM) that attempts to bridge voice with GIS, maintenance, quality control, vehicle navigation and e-Government applications. This is real; they have  applications running in most West-European languages as well as Japanese and Chinese (Mandarin). Their approach is to try to make user dialogues are close to natural language as possible and minimize user .”Voice training is not required.” Voice-Insight was at the show because they are a big Oracle partner. They also have partnerships with Motorola Inc, IBM, Thales, Magellan Navigation , IBM , ESRI Inc., Acteos (France), Incas (Italy &amp; Spain), Working Machines (USA), ClearOrbit (USA), Patech (UK), MDS (Greece), CAPINFO (China), NBT (Bulgaria), Geodan (The Netherlands), BASF IT (Germany), GTS (RSA) etc.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1157297&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 25 Oct 2009 09:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1157297</guid>
</item>
<item>
 <title>Are You Getting Excited About the Cloud Computing Expo in Santa Clara?</title>
 <link>http://oracle.sys-con.com/node/1157298</link>
 <description>Whether you are searching for a Cloud Computing solution for your enterprise or you want to learn about the latest and greatest Cloud Computing technology, The Cloud Computing Expo in Santa Clara, California running from  November 2 until November 4 is for you. &lt;a href=&quot;http://cloudcomputingexpo.com/general/keynotes1109.htm&quot; title=&quot;http://cloudcomputingexpo.com/general/keynotes1109.htm&quot;&gt;http://cloudcomputingexpo.com/general/keynotes1109.htm&lt;/a&gt;
Keynote speakers include Richard Marcello, President, Systems &amp;#38; Technology, Unisys, Shelton Shugar
SVP [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=charlieisaacs.wordpress.com&amp;blog=7447211&amp;post=120&amp;subd=charlieisaacs&amp;ref=&amp;feed=1&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1157298&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 25 Oct 2009 08:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1157298</guid>
</item>
<item>
 <title>Get Excited! It&#039;s Time for Oracle OpenWorld</title>
 <link>http://oracle.sys-con.com/node/1157293</link>
 <description>In this tough economic environment, your boss might not be open to your trip to SF. Oracle can help you justify your visit to Oracle OpenWorld.&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=charlieisaacs.wordpress.com&amp;blog=7447211&amp;post=14&amp;subd=charlieisaacs&amp;ref=&amp;feed=1&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1157293&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 08 Oct 2009 09:11:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1157293</guid>
</item>
<item>
 <title>Working with WLS 10.3.1 SQLAuthenticator Password Algorithms - Part 1</title>
 <link>http://oracle.sys-con.com/node/1130973</link>
 <description>WebLogic Server 10.3.1 supports loading user credentials and roles from a number of different sources, such as LDAP or a database, through the concept of &quot;Security Providers&quot;.  In order to work with a database table structure a &quot;SQL Authenticator&quot; provider is required.&lt;br /&gt;&lt;br /&gt;Edwin Biemond has a good &lt;a href=&quot;http://biemond.blogspot.com/2008/12/using-database-tables-as-authentication.html&quot;&gt;example&lt;/a&gt; of setting up both the database table structures and configuring the WLS SQL Authenticator against these tables.  To keep the example simple, for the password field in the JHS_USERS table Edwin&#039;s has set the SQL Authenticator to write raw plain text passwords to the table.  This makes it really easy for demonstration purposes to see what&#039;s written to the database.&lt;br /&gt;&lt;br /&gt;To extend Edwin&#039;s post, a common requirement will be that:&lt;br /&gt;&lt;br /&gt;a) The password value is written in an encrypted form to the database&lt;br /&gt;b) Other non-WLS applications can generate the same encrypted result such that the encrypted passwords can be compared&lt;br /&gt;&lt;br /&gt;The need for point &quot;a&quot; is obvious, unencrypted password in the database is a security weakness.  But what about &quot;b&quot;, why would you want this?&lt;br /&gt;&lt;br /&gt;For many organisations the list of users and roles will be stored in database tables, and that information will be sourced by many different subsystems implemented in different technologies.  It&#039;s not uncommon for sites to have Oracle Forms, .Net, JEE (and ADF of course!) applications all relying on the database user tables for their authentication and authorisation information.&lt;br /&gt;&lt;br /&gt;Each of these subsystems would require users to login.  The subsystem would then encrypt the password, retrieve the corresponding password from the database for the identified user, and compare the results.  If they compare, we have a valid user; if the encrypted passwords are different, ring the alarm bells, we have an imposter (or at least make them login again ;-)&lt;br /&gt;&lt;br /&gt;All things would be well with this solution, until you throw in the fact that each subsystem may support different encryption algorithms that would produce different results, effectively failing the encrypted password comparison each time.  It becomes essential therefore that WLS&#039;s SQL Authenticator supports different encryption algorithms in order to provide as much flexibility as possible.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Password Settings&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On configuring a SQL Authenticator as per Edwin&#039;s example, on accessing the Provider Specific information (from the WLS console select Security Realms -&gt; myrealm -&gt; Providers tab -&gt; your named SQL Authenticator -&gt; Configuration tab -&gt; Provider Specific tab), you&#039;ll note the following options that influence the generation of encrypted passwords:&lt;br /&gt;&lt;br /&gt;* &lt;span style=&quot;font-weight:bold;&quot;&gt;Plaintext Passwords Enabled&lt;/span&gt; – true/false – relates how passwords are read from the database table.  If true when WLS retrieves the password from the database, and it encounters a non encrypted password, it will undertake a non encrypted comparison between the user&#039;s password who is attempting to login against the database retrieved password.  If false, WLS will enforce the database password must be encrypted for it to undertake an encrypted password comparison.&lt;br /&gt;&lt;br /&gt;The question arises, how does WLS know the database password is encrypted?  The answer is derived from the next detailed property Password Style Retained, where WLS when writing a new encrypted password to the database prefixes the encrypted password with the encryption algorithm that was used to encrypt the password.  If it&#039;s missing, WLS assumes a plaintext password.&lt;br /&gt;&lt;br /&gt;If the Plaintext Passwords Enabled property is false, one other side effect is if you attempt to set the Password Style property to PLAINTEXT, then update a user&#039;s password in the database, WLS will throw an error stating it doesn&#039;t support PLAINTEXT passwords:&lt;br /&gt;&lt;br /&gt;[Security:099063]Plaintext password usage was rejected.&lt;br /&gt;&lt;br /&gt;Thanks to Ming at Oracle Support for clarifying this property.&lt;br /&gt;&lt;br /&gt;* &lt;span style=&quot;font-weight:bold;&quot;&gt;Password Style Retained&lt;/span&gt; – true/false – the following properties unlike the Plaintext Passwords Enabled property deal with when updating existing user passwords in the database table, not when the password is read.  When WLS writes a password to the table&#039;s password field, along with the encrypted text, it prefixes the password with the password algorithm used wrapped in ellipses.  For example if the SHA-1 algorithm is used, the password would look like:&lt;br /&gt;&lt;br /&gt;{SHA-1}W6PH5MM5PZ8GGIULBPGZG37MJ9G=&lt;br /&gt;&lt;br /&gt;If the Password Style Retained property is set to true, and the existing password has a different encryption algorithm to that specified in the Password Algorithm field, WLS will use the latter to update the password.  If Password Style Retained is set to false, regardless, WLS will overwrite the password with that specified in the Password Algorithm field.&lt;br /&gt;&lt;br /&gt;* Password Algorithm – text field – default SHA-1 – as per the WLS documentation this can be any Java Cryptography Extension (JCE).  Questionably what are the allowable values derived from the JCE?  These are listed in the JSE 6.0 Java Cryptography Architecture Standard Algorithm Name &lt;a href=&quot;http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html#algspec&quot;&gt;Documentation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For password generation we want a &lt;a href=&quot;http://en.wikipedia.org/wiki/Cryptographic_hash_function&quot;&gt;hash&lt;/a&gt; (aka. message digest or 1-way encryption) algorithm.  From the documentation we find that our options are limited to SHA-1 (the default Password Algorithm value), MD2 and MD5.  &lt;br /&gt;&lt;br /&gt;Note that the JSE documentation states the bit size of the produced message digest (SHA-1 = 160-bit, MD2 = 128-bit, MD5 = 128-bit), which will influence the size of your password field to store the encrypted database value.&lt;br /&gt;&lt;br /&gt;The Password Algorithm can be ignored if the Password Style is PLAINTEXT, or, the Password Style Retained is set to true and the password to be updated does not match the current Password Algorithm&#039;s specified function.&lt;br /&gt;&lt;br /&gt;* &lt;span style=&quot;font-weight:bold;&quot;&gt;Password Style&lt;/span&gt; – PLAINTEXT, HASHED, SALTEDHASHED – as guessed the PLAINTEXT option will write the unencrypted password to the database.  A value of HASHED implies the Password Algorithm will be used.  SALTEDHASHED also produces encrypted passwords though different from HASHED.  I&#039;m currently unsure of the difference between HASHED and SALTEDHASHED, the WLS documentation doesn&#039;t differentiate between them, though it does result in a different encrypted value.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Testing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Assuming you&#039;ve configured your SQL Authenticator correctly as per Edwin&#039;s post, let&#039;s test what the different settings of the properties do.&lt;br /&gt;&lt;br /&gt;For our testing let&#039;s assume there&#039;s always an existing user ALPHA whose password we want to update, as well as new users BETA, CHARLIE and DELTA (and so on) who we want to create with a new password.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;First test&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Plaintext Passwords Enabled = true&lt;br /&gt;Password Style Retained = true&lt;br /&gt;Password Algorithm = SHA-1&lt;br /&gt;Password Style = HASHED&lt;br /&gt;&lt;br /&gt;For the existing user ALPHA the encrypted password doesn&#039;t include the algorithm prefix (ie. {SHA-1}), in fact it was created by some other system that doesn&#039;t include the prefix.  The ALPHA&#039;s password will be updated to &quot;password&quot;.&lt;br /&gt;&lt;br /&gt;For a new user BETA the password will be set to &quot;password&quot;.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;First result&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Updated user ALPHA password = &quot;password&quot;&lt;br /&gt;&lt;br /&gt;For the ALPHA users this result occurs because WLS encounters the Plaintext Passwords Enabled set to true, and the original password stored for the ALPHA user is unencrypted (ie. it&#039;s missing the algorithm prefix).  WLS therefore decides an update to the password must be a plaintext password update.&lt;br /&gt;&lt;br /&gt;New user BETA password = {SHA-1}W6ph5Mm5Pz8GgiULbPgzG37mj9g=&lt;br /&gt;&lt;br /&gt;In this case the BETA user makes use of the SHA-1 algorithm.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Second test&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Plaintext Passwords Enabled = true&lt;br /&gt;Password Style Retained = false&lt;br /&gt;Password Algorithm = SHA-1&lt;br /&gt;Password Style = HASHED&lt;br /&gt;&lt;br /&gt;Same as the last test, for the existing ALPHA user the encrypted password doesn&#039;t include the algorithm prefix (ie. {SHA-1}), in fact it was created by some other system that doesn&#039;t include the prefix.  The ALPHA&#039;s password will be updated to &quot;password&quot;.&lt;br /&gt;&lt;br /&gt;For a new user CHARLIE the password will be set to &quot;password&quot;.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Second result&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Updated user ALPHA password = {SHA-1}W6ph5Mm5Pz8GgiULbPgzG37mj9g=&lt;br /&gt;&lt;br /&gt;New user CHARLIE password = {SHA-1}W6ph5Mm5Pz8GgiULbPgzG37mj9g=&lt;br /&gt;&lt;br /&gt;In this case the Password Style Retained has overwritten the updated user ALPHA&#039;s password style with the new SHA-1 algorithm equivalent as the Password Style Retained = false setting removes the original plaintext algorithm – in other words the SHA-1 algorithm takes precedence.  As expected the CHARLIE user&#039;s passwords uses the SHA-1 algorithm by default.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Third test&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this test we&#039;ll use the existing SHA-1 user ALPHA SHA-1 password, while switching to the MD2 algorithm, while not retaining passwords styles:&lt;br /&gt;&lt;br /&gt;Plaintext Passwords Enabled = true&lt;br /&gt;Password Style Retained = false&lt;br /&gt;Password Algorithm = MD2&lt;br /&gt;Password Style = HASHED&lt;br /&gt;&lt;br /&gt;Existing ALPHA password = {SHA-1}W6ph5Mm5Pz8GgiULbPgzG37mj9g=&lt;br /&gt;&lt;br /&gt;For a new user DELTA the password will be set to &quot;password&quot;.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Third result&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Existing ALPHA password = {MD2}8DiBqIxuORNfDsxg79YJuQ==&lt;br /&gt;&lt;br /&gt;New user DELTA password = {MD2}8DiBqIxuORNfDsxg79YJuQ==&lt;br /&gt;&lt;br /&gt;As can be seen WLS switches to the MD2 algorithm in both cases as the Password Style Retained = false property enforces this.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Fourth test&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the last test we&#039;ll switch back to the SHA-1 algorithm, and attempt to update the ALPHA user&#039;s MD2 password to the SHA-1 equivalent asking WLS not to retain the existing password style:&lt;br /&gt;&lt;br /&gt;Plaintext Passwords Enabled = true&lt;br /&gt;Password Style Retained = false&lt;br /&gt;Password Algorithm = SHA-1&lt;br /&gt;Password Style = HASHED&lt;br /&gt;&lt;br /&gt;Existing ALPHA password = {MD2}8DiBqIxuORNfDsxg79YJuQ==&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Fourth result&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Existing ALPHA password = {SHA-1}W6ph5Mm5Pz8GgiULbPgzG37mj9g=&lt;br /&gt;&lt;br /&gt;As expected the ALPHA user&#039;s password is changed from the MD2 to SHA-1 encrypted password, again as the Password Style Retained = false property takes affect.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At this point we&#039;ve seen how WLS can generate encrypted passwords using different algorithms down to the database.  From here it&#039;s important to check the encrypted results in the database are actually &quot;standard&quot;.  In other words if a competing technology uses the SHA-1 algorithm to encrypt a password for example, will it see the same encrypted result WLS produced.  This will be addressed in a following post.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/38586079-624150363070835252?l=one-size-doesnt-fit-all.blogspot.com&#039;/&gt;&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/OneSizeDoesntFitAll/~4/20I7__6ktnU&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1130973&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 05 Oct 2009 15:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1130973</guid>
</item>
<item>
 <title>The Neglected Flipside of SOA Security</title>
 <link>http://oracle.sys-con.com/node/1092386</link>
 <description>Joe McKendrick kicks off a thread on the current state of SOA Security. As usual, most discussion of SOA Security applies to &quot;how SOA can be made secure&quot;. This is understandable. And, as some commentators have pointed out, there is a body of Best Practice out there on how to secure services in an SOA. For example, Randy Heffner provides lots of good advice on how to secure the services in an SOA)&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1092386&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 08 Sep 2009 13:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1092386</guid>
</item>
<item>
 <title>One-Way SSL with JAX-WS Using JDeveloper 11gR1 and WLS 10.3.1</title>
 <link>http://oracle.sys-con.com/node/1075471</link>
 <description>A while back Gerard Davison blogged some simple examples of using &lt;a href=&quot;http://kingsfleet.blogspot.com/2009/01/security-policy-worked-example.html&quot;&gt;WS-Security Policies&lt;/a&gt;.  Gerard&#039;s specific example dealt with the WLS policy Wssp1.2-2007-Wss1.1-UsernameToken-Plain-X509-Basic256.xml.  As Gerard notes the said policy (further documented in the WLS 10.3.1 doco &lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/web.1111/e13713/message.htm#i210119&quot;&gt;here&lt;/a&gt;) implements user name tokens, encryption of the tokens and signing of the whole SOAP payload.&lt;br /&gt;&lt;br /&gt;The following post strips back Gerard&#039;s example to instead to consider the steps in setting up and testing One-Way SSL for a JAX-WS web service generated via JDeveloper 11gR1 and installed in WLS 10.3.1, using the WLS policy Wssp1.2-2007-Https.xml.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Assumptions&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This article assumes the reader has the following basic knowledge:&lt;br /&gt;&lt;br /&gt;* HTTPS/SSL&lt;br /&gt;* Digital certificates and trusted/certificate authorities (CAs)&lt;br /&gt;* Oracle&#039;s WebLogic Server, WLS managed servers and the WLS console&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;One-Way SSL vs Two-Way SSL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For those not familiar with either, Oracle&#039;s WLS documentation has a good explanation of the implementation of and differences between One-Way SSL and Two-Way SSL in the &lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/web.1111/e13710/concepts.htm#i1122990&quot;&gt;Understanding Security for Oracle WebLogic Server&lt;/a&gt; manual.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Steps&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To implement a One-Way SSL example we&#039;ll run through the following steps:&lt;br /&gt;&lt;br /&gt;1) Create a basic JAX-WS web service with JDeveloper 11gR1&lt;br /&gt;2) Generate the digital certificates required for the WLS server&lt;br /&gt;3) Modify the web service to use the Wssp1.2-2007-Https.xml WLS policy&lt;br /&gt;4) Deploy the running web service to WLS&lt;br /&gt;5) Test the running web service via JDeveloper&#039;s HTTP Analyzer&lt;br /&gt;6) Test the running web service via SoapUI&lt;br /&gt;7) Test the running web service via a JAX-WS client&lt;br /&gt;8) Inspect the web service packets on the wire to verify the traffic is indeed encrypted&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;1) Create a basic JAX-WS web service with JDeveloper 11gR1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This step is documented in a previous &lt;a href=&quot;http://one-size-doesnt-fit-all.blogspot.com/2008/11/creating-jax-ws-web-services-via-wsdl.html&quot;&gt;blog&lt;/a&gt; post Creating JAX-WS web services via a WSDL in JDev 11g.  There are also a number of viewlet demonstrations available from Oracle&#039;s &lt;a href=&quot;http://www.oracle.com/technology/products/jdev/viewlets/11/index.html&quot;&gt;OTN&lt;/a&gt; which show how to construct the WSDL in a drag&#039;n&#039;drop fashion. &lt;br /&gt;&lt;br /&gt;The resulting web service we&#039;ll demonstrate here is a very simple one.  It is comprised of the following solutions:&lt;br /&gt;&lt;br /&gt;OneWaySSLExample.xsd&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;?xml version=&quot;1.0&quot; encoding=&quot;windows-1252&quot; ?&gt;&lt;br /&gt;&lt;xsd:schema xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns=&quot;http://www.sagecomputing.com.au&quot;&lt;br /&gt;            targetNamespace=&quot;http://www.sagecomputing.com.au&quot; elementFormDefault=&quot;qualified&quot;&gt;&lt;br /&gt;  &lt;xsd:element name=&quot;inputElement&quot; type=&quot;xsd:string&quot;/&gt;&lt;br /&gt;  &lt;xsd:element name=&quot;outputElement&quot; type=&quot;xsd:string&quot;/&gt;&lt;br /&gt;&lt;/xsd:schema&gt;&lt;/pre&gt;The inputElement and the outputElement will constitute the incoming and outgoing payloads of a simple HelloWorld web service.&lt;br /&gt;&lt;br /&gt;OneWaySSLExample.wsdl&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;&lt;br /&gt;&lt;definitions targetNamespace=&quot;urn:OneWaySSLExample.wsdl&quot; xmlns=&quot;http://schemas.xmlsoap.org/wsdl/&quot;&lt;br /&gt;             xmlns:tns=&quot;urn:OneWaySSLExample.wsdl&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;&lt;br /&gt;             xmlns:soap=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot; xmlns:mime=&quot;http://schemas.xmlsoap.org/wsdl/mime/&quot;&lt;br /&gt;             xmlns:soap12=&quot;http://schemas.xmlsoap.org/wsdl/soap12/&quot; xmlns:wsca=&quot;http://www.sagecomputing.com.au&quot;&gt;&lt;br /&gt;  &lt;types&gt;&lt;br /&gt;    &lt;xsd:schema&gt;&lt;br /&gt;      &lt;xsd:import schemaLocation=&quot;../xsd/OneWaySSLExample.xsd&quot; namespace=&quot;http://www.sagecomputing.com.au&quot;/&gt;&lt;br /&gt;    &lt;/xsd:schema&gt;&lt;br /&gt;  &lt;/types&gt;&lt;br /&gt;  &lt;message name=&quot;InputMessage&quot;&gt;&lt;br /&gt;    &lt;part name=&quot;part&quot; element=&quot;wsca:inputElement&quot;/&gt;&lt;br /&gt;  &lt;/message&gt;&lt;br /&gt;  &lt;message name=&quot;OutputMessage&quot;&gt;&lt;br /&gt;    &lt;part name=&quot;part&quot; element=&quot;wsca:outputElement&quot;/&gt;&lt;br /&gt;  &lt;/message&gt;&lt;br /&gt;  &lt;portType name=&quot;OneWaySSLPortType&quot;&gt;&lt;br /&gt;    &lt;operation name=&quot;OneWaySSLOperation&quot;&gt;&lt;br /&gt;      &lt;input message=&quot;tns:InputMessage&quot;/&gt;&lt;br /&gt;      &lt;output message=&quot;tns:OutputMessage&quot;/&gt;&lt;br /&gt;    &lt;/operation&gt;&lt;br /&gt;  &lt;/portType&gt;&lt;br /&gt;  &lt;binding name=&quot;OneWaySSLBinding&quot; type=&quot;tns:OneWaySSLPortType&quot;&gt;&lt;br /&gt;    &lt;soap12:binding style=&quot;document&quot; transport=&quot;http://schemas.xmlsoap.org/soap/http&quot;/&gt;&lt;br /&gt;    &lt;operation name=&quot;OneWaySSLOperation&quot;&gt;&lt;br /&gt;      &lt;soap12:operation style=&quot;document&quot; soapAction=&quot;urn:OneWaySSLExample.wsdl/OneWaySSLOperation&quot;/&gt;&lt;br /&gt;      &lt;input&gt;&lt;br /&gt;        &lt;soap12:body use=&quot;literal&quot; parts=&quot;part&quot;/&gt;&lt;br /&gt;      &lt;/input&gt;&lt;br /&gt;      &lt;output&gt;&lt;br /&gt;        &lt;soap12:body use=&quot;literal&quot; parts=&quot;part&quot;/&gt;&lt;br /&gt;      &lt;/output&gt;&lt;br /&gt;    &lt;/operation&gt;&lt;br /&gt;  &lt;/binding&gt;&lt;br /&gt;  &lt;service name=&quot;OneWaySSLService&quot;&gt;&lt;br /&gt;    &lt;port name=&quot;OneWaySSLPortTypePort&quot; binding=&quot;tns:OneWaySSLBinding&quot;&gt;&lt;br /&gt;      &lt;soap12:address location=&quot;http://www.sagecomputing.com.au &quot;/&gt;&lt;br /&gt;    &lt;/port&gt;&lt;br /&gt;  &lt;/service&gt;&lt;br /&gt;&lt;/definitions&gt;&lt;/pre&gt;&lt;br /&gt;The overall web service comprises of a single operation accepting the inputElement and outputElement strings as specified in the XSD.&lt;br /&gt;&lt;br /&gt;OneWaySSLPortTypeImpl.java&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;package au.com.sagecomputing.ws;&lt;br /&gt;&lt;br /&gt;import javax.jws.WebService;&lt;br /&gt;&lt;br /&gt;import javax.xml.ws.BindingType;&lt;br /&gt;import javax.xml.ws.soap.SOAPBinding;&lt;br /&gt;&lt;br /&gt;@WebService(serviceName = &quot;OneWaySSLService&quot;,&lt;br /&gt;            targetNamespace = &quot;urn:OneWaySSLExample.wsdl&quot;,&lt;br /&gt;            portName = &quot;OneWaySSLPortTypePort&quot;,&lt;br /&gt;            endpointInterface = &quot;au.com.sagecomputing.ws.OneWaySSLPortType&quot;,&lt;br /&gt;            wsdlLocation = &quot;/WEB-INF/wsdl/OneWaySSLExample.wsdl&quot;)&lt;br /&gt;@BindingType(SOAPBinding.SOAP12HTTP_BINDING)&lt;br /&gt;public class OneWaySSLPortTypeImpl {&lt;br /&gt;&lt;br /&gt;  public String oneWaySSLOperation(String part) {&lt;br /&gt;    return &quot;Hello &quot; + part;&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;A very basic JAX-WS web service accepting the inputElement String and returning the outputElement String prefixed with &quot;Hello &quot;.&lt;br /&gt;&lt;br /&gt;Example request SOAP payload&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;env:Envelope xmlns:env=&quot;http://www.w3.org/2003/05/soap-envelope&quot; xmlns:ns1=&quot;http://www.sagecomputing.com.au&quot;&gt;&lt;br /&gt;   &lt;env:Header/&gt;&lt;br /&gt;   &lt;env:Body&gt;&lt;br /&gt;      &lt;ns1:inputElement&gt;Chris&lt;/ns1:inputElement&gt;&lt;br /&gt;   &lt;/env:Body&gt;&lt;br /&gt;&lt;/env:Envelope&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Example response SOAP payload&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;?xml version = &#039;1.0&#039; encoding = &#039;UTF-8&#039;?&gt;&lt;br /&gt;&lt;S:Envelope xmlns:S=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&gt;&lt;br /&gt;   &lt;S:Body&gt;&lt;br /&gt;      &lt;outputElement xmlns=&quot;http://www.sagecomputing.com.au&quot;&gt;Hello Chris&lt;/outputElement&gt;&lt;br /&gt;   &lt;/S:Body&gt;&lt;br /&gt;&lt;/S:Envelope&gt;&lt;/pre&gt;The overall application/project structure will look as follows in JDeveloper&#039;s Application Navigator:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/Sn-tOW0MlyI/AAAAAAAAAz0/Yh6wVO5dzNI/s1600-h/sslExamplePic0.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 254px; height: 400px;&quot; src=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/Sn-tOW0MlyI/AAAAAAAAAz0/Yh6wVO5dzNI/s400/sslExamplePic0.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368199743003203362&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;2) Generate the digital certificates required for the WLS server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In order for a client to undertake a SSL connection with our web service on the WLS server, the WLS server must be configured with a valid digital certificate.  &lt;br /&gt;&lt;br /&gt;Again note from the Oracle &lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/web.1111/e13710/concepts.htm#i1122990&quot;&gt;documentation&lt;/a&gt; how One-Way SSL works at runtime:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;With one-way SSL authentication, the target (the server) is required to present a digital certificate to the initiator (the client) to prove its identity. The client performs two checks to validate the digital certificate:&lt;br /&gt;&lt;br /&gt;1. The client verifies that the certificate is trusted (meaning, it was issued by the client&#039;s trusted CA), is valid (not expired), and satisfies the other certificate constraints.&lt;br /&gt;2. The client checks that the certificate Subject&#039;s common name (CN) field value matches the host name of the server to which the client is trying to connect&lt;br /&gt;&lt;br /&gt;If both of the above checks return true, the SSL connection is established.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;In this section we consider the digital certificates required for the WLS server.&lt;br /&gt;&lt;br /&gt;WLS is an interesting application server in that it keeps two separate Java keystores, 1 for storing the digital certificates for such actions as SSL, and another which is typically used for storing CA digital certificates.  The former is referred to as the identity keystore, the later the trust keystore.&lt;br /&gt;&lt;br /&gt;The WLS manual Securing Oracle WebLogic Server section 11 &lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/web.1111/e13707/identity_trust.htm#i1202182&quot;&gt;Configuring Identity and Trust&lt;/a&gt; has a detailed explanation of this setup.&lt;br /&gt;&lt;br /&gt;By default WLS comes with demonstration identity and trust keystores containing demonstration digital certificates.  As the WLS documentation takes great pains to explain these are for development purposes only and should never be used in a production environment.  For the purposes of this blog post if you&#039;re testing One-Way SSL in a development environment you can in fact skip this entire step as the demonstration WLS keystores will suffice.&lt;br /&gt;&lt;br /&gt;To check that the demonstration keystores are currently installed login to your WLS console, select your server, and under the Configurations -&gt; Keystores tab you&#039;ll see the following entries:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/Sn-tO5JWl1I/AAAAAAAAAz8/bD2U_1xqnnA/s1600-h/sslExamplePic1.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 376px;&quot; src=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/Sn-tO5JWl1I/AAAAAAAAAz8/bD2U_1xqnnA/s400/sslExamplePic1.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368199752218744658&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Your entries for the file locations of the keystore will be different from my example here dependent on where you installed WLS.&lt;br /&gt;&lt;br /&gt;However using the demonstration keystores avoids the whole learning exercise of configuring your own custom digital certificates in WLS which is an important lesson.  The following describes those steps in detail, as based off Gerard&#039;s original &lt;a href=&quot;http://kingsfleet.blogspot.com/2009/01/security-policy-worked-example.html&quot;&gt;post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To install our own digital certificate we followed these general steps:&lt;br /&gt;&lt;br /&gt;a) Open a command prompt and set the WLS environment&lt;br /&gt;b) Generate our own trusted certificate authority digital certificate&lt;br /&gt;c) Store the private key and digital certificate and import into the identity keystore&lt;br /&gt;d) Store the same digital certificate into the trust keystore.&lt;br /&gt;e) Configure the new keystores in WLS&#039;s identity and trust keystore&lt;br /&gt;&lt;br /&gt;The following describes those steps in detail.  In order to do this we&#039;ve used WLS utilities to do as much of the work as possible.&lt;br /&gt;&lt;br /&gt;a) Open a command prompt and set the WLS environment&lt;br /&gt;&lt;br /&gt;Under Windows open a command prompt on the same machine as where WLS is installed, create a temporary directory in your favourite place and cd to that directory, and run your WLS server&#039;s setDomainEnv.cmd command.  Something like:&lt;br /&gt;&lt;br /&gt;&quot;C:\&lt;wls_home&gt;\setDomainEnv.cmd&quot;&lt;br /&gt;&lt;br /&gt;Once run ensure you&#039;re still in your new directory.&lt;br /&gt;&lt;br /&gt;b) Generate our own trusted certificate authority digital certificate&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;java utils.CertGen -certfile ServerCACert -keyfile ServerCAKey -keyfilepass ServerCAKey -selfsigned -e &lt;a href=&quot;mailto:somebody@xxxx.com.au&quot;&gt;somebody@xxxx.com.au&lt;/a&gt; -ou FOR-DEVELOPMENT-ONLY -o XXXX -l PERTH -s WA -c AU&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This generates 4 files: ServerCACert.der, ServerCACert.pem, ServerCAKey.der, ServerCAKey.pem&lt;br /&gt;&lt;br /&gt;The utils.CertGen utility is useful for development purposes, but as per the WLS documentation, should not be used for production purposes.  Alternatively &lt;a href=&quot;http://www.openssl.org&quot;&gt;OpenSSL&lt;/a&gt; could be used instead.&lt;br /&gt;&lt;br /&gt;Note the use of selfsigned flag.  This implies this digital certificate will be used both as the CA in the trust keystore and the served digital certificate in the identity keystore.  This is not what we&#039;d do for a production environment using commercial Certificate Authorities, but is sufficient for demonstration purposes in this post.&lt;br /&gt;&lt;br /&gt;More information on:&lt;br /&gt;&lt;br /&gt;* the WLS CertGen utility can be found &lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/web.1111/e13749/utils.htm#i1198919&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;* .der vs .pem files can be found &lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/web.1111/e13707/identity_trust.htm#i1196582&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://e-docs.bea.com/wls/docs92/secmanage/identity_trust.html#wp1195506&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;* WLS provides two utilities &lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/web.1111/e13749/utils.htm#i1218395&quot;&gt;der2pem&lt;/a&gt; and &lt;a href=&quot;http://download.oracle.com/docs/cd/E12839_01/web.1111/e13749/utils.htm#i1185185&quot;&gt;pem2der&lt;/a&gt; can be used to convert between the two file types.&lt;br /&gt;&lt;br /&gt;Under Windows you can double click on the ServerCACert.der file to show its contents:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/Sn-tPTY5fuI/AAAAAAAAA0E/C8rY0ol90MA/s1600-h/sslExamplePic2.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 322px; height: 400px;&quot; src=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/Sn-tPTY5fuI/AAAAAAAAA0E/C8rY0ol90MA/s400/sslExamplePic2.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368199759263268578&quot; /&gt;&lt;/a&gt;&lt;br /&gt;If you have access to the openSSL command line tool you can use it to query the certificate we just created:&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;openssl x509 -text -inform der -in ServerCACert.der&lt;br /&gt;&lt;br /&gt;Certificate:&lt;br /&gt;    Data:&lt;br /&gt;        Version: 3 (0x2)&lt;br /&gt;        Serial Number:&lt;br /&gt;            0d:a9:d1:4a:0f:0b:b2:61:13:90:89:f5:40:4d:4f:e2&lt;br /&gt;        Signature Algorithm: md5WithRSAEncryption&lt;br /&gt;        Issuer: C=AU, ST=WA, L=PERTH, O=SAGECOMPUTING, OU=FOR-DEVELOPMENT-ONLY, CN=&lt;hostname obscured - CM&gt;/emailAddress=somebody@sagecomputing.com.au&lt;br /&gt;        Validity&lt;br /&gt;            Not Before: Jul  9 07:06:49 2009 GMT&lt;br /&gt;            Not After : Jul 10 07:06:49 2029 GMT&lt;br /&gt;        Subject: C=AU, ST=WA, L=PERTH, O=SAGECOMPUTING, OU=FOR-DEVELOPMENT-ONLY, CN=&lt;hostname obscured - CM&gt;/emailAddress=somebody@sagecomputing.com.au&lt;br /&gt;        Subject Public Key Info:&lt;br /&gt;            Public Key Algorithm: rsaEncryption&lt;br /&gt;            RSA Public Key: (1024 bit)&lt;br /&gt;                Modulus (1024 bit):&lt;br /&gt;                    00:df:cb:6c:ed:86:75:4c:5b:66:cd:aa:3d:34:8f:&lt;br /&gt;                    &lt;snip&gt;&lt;br /&gt;                    73:f6:9c:b5:ed:82:9c:c3:15&lt;br /&gt;                Exponent: 65537 (0x10001)&lt;br /&gt;        X509v3 extensions:&lt;br /&gt;            X509v3 Key Usage: critical&lt;br /&gt;                Certificate Sign&lt;br /&gt;            X509v3 Basic Constraints: critical&lt;br /&gt;                CA:TRUE, pathlen:1&lt;br /&gt;    Signature Algorithm: md5WithRSAEncryption&lt;br /&gt;        b7:fa:1b:8f:c4:ee:af:6b:1d:f0:dc:f4:cf:35:20:f1:df:eb:&lt;br /&gt;        &lt;snip&gt;&lt;br /&gt;        0c:fe&lt;br /&gt;-----BEGIN CERTIFICATE-----&lt;br /&gt;MIIC8zCCAlygAwIBAgIQDanRSg8LsmETkIn1QE1P4jANBgkqhkiG9w0BAQQFADCB&lt;br /&gt;&lt;snip&gt;&lt;br /&gt;i7Pd63d03mWkI85tvsr5Q+40yitOL5JnLsbyHSrM+1aK8kkY7Qz+&lt;br /&gt;-----END CERTIFICATE-----&lt;br /&gt;&lt;snip&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This identifies information that maybe useful later if we make a mistake, such as the encryption algorithm used (RSA), the size of the keys (1024bit), the serial number of the certificate (a hex number).&lt;br /&gt;&lt;br /&gt;c) Store the private key and the digital certificate in the identity keystore&lt;br /&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;java utils.ImportPrivateKey -certfile ServerCACert.der -keyfile ServerCAKey.der -keyfilepass ServerCAKey -keystore ServerIdentity.jks -storepass ServerCAKey -alias identity -keypass ServerCAKey&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;d) Store the same digital certificate into the trust keystore&lt;br /&gt;Import the certificate generated in step b into a trust keystore.&lt;br /&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;keytool -import -v -trustcacerts -alias identity -file ServerCACert.der -keystore ServerTrust.jks -storepass ServerTrustStorePass&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;e) Configure the new keystores in WLS&#039;s identity and trust keystore&lt;br /&gt;&lt;br /&gt;To configure the keystores in WLS enter the WLS console, select the managed server you&#039;re interested in, then make the following changes under the following tabs:&lt;br /&gt;&lt;br /&gt;Configuration tab -&gt; General subtab&lt;br /&gt;&lt;br /&gt;SSL Listed Port Enabled = checkbox&lt;br /&gt;SSL Listen Port = 7102 (and different from the Listen Port)&lt;br /&gt;&lt;br /&gt;Configuration tab -&gt; Keystores subtab&lt;br /&gt;&lt;br /&gt;Keystores = Custom Identity and Custom Trust&lt;br /&gt;Custom Identity Keystore = &lt;path&gt;\ServerIdentity.jks, such as c:\temp\ServerIdentity.jks&lt;br /&gt;Custom Identity Keystore Type = jks&lt;br /&gt;Custom Identity Keystore Passphrase = ServerCAKey&lt;br /&gt;Confirm Custom Identity Keystore Passphrase = ServerCAKey&lt;br /&gt;&lt;br /&gt;Custom Trust Keystore = &lt;path&gt;\ServerTrust.jks, such as c:\temp\ServerTrust.jks&lt;br /&gt;Custom Trust Keystore Type = jks&lt;br /&gt;Custom Trust Keystore Passphrase = ServerTrustStorePass&lt;br /&gt;Confirm Custom Trust Keystore Passphrase = ServerTrustStorePass&lt;br /&gt;&lt;br /&gt;Configuration tab -&gt; SSL subtab&lt;br /&gt;&lt;br /&gt;Identify and Trust Locations = Keystores&lt;br /&gt;Private key alias = identity&lt;br /&gt;Private Key Passphrase = ServerCAKey&lt;br /&gt;Confirm Private Key Passphrase = ServerCAKey&lt;br /&gt;&lt;br /&gt;Then save.&lt;br /&gt;&lt;br /&gt;After this restart your WLS server and you should see similar messages to the following in the WLS logs:&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;Jul 14, 2009 2:12:03 PM GMT+05:30&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090171&gt; &lt;Loading the identity certificate and private key stored under the alias identity from the JKS keystore file C:\Temp\Server Identity.jks.&gt;&lt;br /&gt;&lt;Jul 14, 2009 2:12:03 PM GMT+05:30&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090169&gt; &lt;Loading trusted certificates from the JKS keystore file C:\Temp\ServerTrust.jks.&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Alternatively is you see the following messages you have made a mistake in your configuration:&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;10/07/2009 4:08:30 PM WST&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090171&gt; &lt;Loading the identity certificate and private key stored under the alias identity from the jks keystore file c:\temp\ServerIdentity.jks.&gt; &lt;br /&gt;&lt;10/07/2009 4:08:30 PM WST&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090169&gt; &lt;Loading trusted certificates from the jks keystore file c:\temp\ServerTrust.jks.&gt; &lt;br /&gt;&lt;10/07/2009 4:08:30 PM WST&gt; &lt;Warning&gt; &lt;Security&gt; &lt;BEA-090172&gt; &lt;No trusted certificates have been loaded. Server will not trust to any certificate it receives.&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;3) Modify the web service to use the Wssp1.2-2007-Https.xml WLS policy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This can be done in a number of ways in JDeveloper, the easiest of which for this blog post at least is just to insert the @Policy annotation into the JAX-WS endpoint as follows:&lt;br /&gt;&lt;br /&gt;(Note if you&#039;re using earlier versions of JDeveloper or Eclipse, this mechanism wont work, you must manually add the policies to the WSDL).&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;package au.com.sagecomputing.ws;&lt;br /&gt;&lt;br /&gt;import javax.jws.WebService;&lt;br /&gt;&lt;br /&gt;import javax.xml.ws.BindingType;&lt;br /&gt;import javax.xml.ws.soap.SOAPBinding;&lt;br /&gt;&lt;br /&gt;import weblogic.jws.Policy;&lt;br /&gt;&lt;br /&gt;@WebService(serviceName = &quot;OneWaySSLService&quot;,&lt;br /&gt;            targetNamespace = &quot;urn:OneWaySSLExample.wsdl&quot;,&lt;br /&gt;            portName = &quot;OneWaySSLPortTypePort&quot;,&lt;br /&gt;            endpointInterface = &quot;au.com.sagecomputing.ws.OneWaySSLPortType&quot;,&lt;br /&gt;            wsdlLocation = &quot;/WEB-INF/wsdl/OneWaySSLExample.wsdl&quot;)&lt;br /&gt;@BindingType(SOAPBinding.SOAP12HTTP_BINDING)&lt;br /&gt;@Policy(uri = &quot;policy:Wssp1.2-2007-Https.xml&quot;) &lt;br /&gt;public class OneWaySSLPortTypeImpl {&lt;br /&gt;&lt;br /&gt;  public String oneWaySSLOperation(String part) {&lt;br /&gt;    return &quot;Hello &quot; + part;&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;4) Deploy the running web service to WLS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Within JDeveloper to deploy and run from the integrated WLS, it&#039;s simply a case of right clicking on the JAX-WS file and selecting Run.&lt;br /&gt;&lt;br /&gt;If you click on the hyperlink provided in the log window, this will open the HTTP Analyzer.  From the HTTP Analyzer you can open the WSDL at the top of the window:&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;?xml version=&#039;1.0&#039; encoding=&#039;UTF-8&#039;?&gt;&lt;!-- Published by JAX-WS RI at &lt;a href=&quot;http://jax-ws.dev.java.net&quot; title=&quot;http://jax-ws.dev.java.net&quot;&gt;http://jax-ws.dev.java.net&lt;/a&gt;. RI&#039;s version is Oracle JAX-WS 2.1.4. --&gt;&lt;definitions xmlns=&quot;http://schemas.xmlsoap.org/wsdl/&quot; xmlns:tns=&quot;urn:OneWaySSLExample.wsdl&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot; xmlns:mime=&quot;http://schemas.xmlsoap.org/wsdl/mime/&quot; xmlns:soap12=&quot;http://schemas.xmlsoap.org/wsdl/soap12/&quot; xmlns:wsca=&quot;http://www.sagecomputing.com.au&quot; targetNamespace=&quot;urn:OneWaySSLExample.wsdl&quot; xmlns:wsp=&quot;http://schemas.xmlsoap.org/ws/2004/09/policy&quot; xmlns:wssutil=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd&quot;&gt;&lt;wsp:UsingPolicy wssutil:Required=&quot;true&quot; /&gt;&lt;wsp:Policy wssutil:Id=&quot;Wssp1.2-2007-Https.xml&quot;&gt;&lt;ns0:TransportBinding xmlns:ns0=&quot;http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702&quot;&gt;&lt;wsp:Policy&gt;&lt;ns0:TransportToken&gt;&lt;wsp:Policy&gt;&lt;ns0:HttpsToken /&gt;&lt;/wsp:Policy&gt;&lt;/ns0:TransportToken&gt;&lt;ns0:AlgorithmSuite&gt;&lt;wsp:Policy&gt;&lt;ns0:Basic256 /&gt;&lt;/wsp:Policy&gt;&lt;/ns0:AlgorithmSuite&gt;&lt;ns0:Layout&gt;&lt;wsp:Policy&gt;&lt;ns0:Lax /&gt;&lt;/wsp:Policy&gt;&lt;/ns0:Layout&gt;&lt;ns0:IncludeTimestamp /&gt;&lt;/wsp:Policy&gt;&lt;/ns0:TransportBinding&gt;&lt;/wsp:Policy&gt;&lt;br /&gt;  &lt;types&gt;&lt;br /&gt;    &lt;xsd:schema&gt;&lt;br /&gt;      &lt;xsd:import schemaLocation=&quot;http://localhost:7101/WebServiceSSLExamples-OneWaySSLExample-context-root/OneWaySSLPortTypePort?xsd=1&quot; namespace=&quot;http://www.sagecomputing.com.au&quot; /&gt;&lt;br /&gt;    &lt;/xsd:schema&gt;&lt;br /&gt;  &lt;/types&gt;&lt;br /&gt;  &lt;message name=&quot;InputMessage&quot;&gt;&lt;br /&gt;    &lt;part name=&quot;part&quot; element=&quot;wsca:inputElement&quot; /&gt;&lt;br /&gt;  &lt;/message&gt;&lt;br /&gt;  &lt;message name=&quot;OutputMessage&quot;&gt;&lt;br /&gt;    &lt;part name=&quot;part&quot; element=&quot;wsca:outputElement&quot; /&gt;&lt;br /&gt;  &lt;/message&gt;&lt;br /&gt;  &lt;portType name=&quot;OneWaySSLPortType&quot;&gt;&lt;br /&gt;    &lt;operation name=&quot;OneWaySSLOperation&quot;&gt;&lt;br /&gt;      &lt;input message=&quot;tns:InputMessage&quot; /&gt;&lt;br /&gt;      &lt;output message=&quot;tns:OutputMessage&quot; /&gt;&lt;br /&gt;    &lt;/operation&gt;&lt;br /&gt;  &lt;/portType&gt;&lt;br /&gt;  &lt;binding name=&quot;OneWaySSLBinding&quot; type=&quot;tns:OneWaySSLPortType&quot;&gt;&lt;wsp:PolicyReference URI=&quot;#Wssp1.2-2007-Https.xml&quot; /&gt;&lt;br /&gt;    &lt;soap12:binding style=&quot;document&quot; transport=&quot;http://schemas.xmlsoap.org/soap/http&quot; /&gt;&lt;br /&gt;    &lt;operation name=&quot;OneWaySSLOperation&quot;&gt;&lt;br /&gt;      &lt;soap12:operation style=&quot;document&quot; soapAction=&quot;urn:OneWaySSLExample.wsdl/OneWaySSLOperation&quot; /&gt;&lt;br /&gt;      &lt;input&gt;&lt;br /&gt;        &lt;soap12:body use=&quot;literal&quot; parts=&quot;part&quot; /&gt;&lt;br /&gt;      &lt;/input&gt;&lt;br /&gt;      &lt;output&gt;&lt;br /&gt;        &lt;soap12:body use=&quot;literal&quot; parts=&quot;part&quot; /&gt;&lt;br /&gt;      &lt;/output&gt;&lt;br /&gt;    &lt;/operation&gt;&lt;br /&gt;  &lt;/binding&gt;&lt;br /&gt;  &lt;service name=&quot;OneWaySSLService&quot;&gt;&lt;br /&gt;    &lt;port name=&quot;OneWaySSLPortTypePort&quot; binding=&quot;tns:OneWaySSLBinding&quot;&gt;&lt;br /&gt;      &lt;soap12:address location=&quot;https://localhost:7102/WebServiceSSLExamples-OneWaySSLExample-context-root/OneWaySSLPortTypePort&quot; /&gt;&lt;br /&gt;    &lt;/port&gt;&lt;br /&gt;  &lt;/service&gt;&lt;br /&gt;&lt;/definitions&gt;&lt;/pre&gt;Note on deployment to WLS you can see that the Wssp1.2-2007-Https.xml policy has been added to the binding to enforce One-Way SSL, and in addition the service address now runs from HTTPS, not HTTP, on the now enabled SSL port.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;5) Test the running web service via JDeveloper&#039;s HTTP Analyzer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;JDeveloper out of the box includes HTTP Analyzer for testing your web services.  It&#039;s particularly useful as you don&#039;t have to leave the confines of your IDE to test your web services.&lt;br /&gt;&lt;br /&gt;In order to run the HTTP Analyzer with SSL&#039;ed web service traffic, you need to make some changes to the configuration of JDeveloper.  Selecting the Tools-&gt;Preferences menu option, followed by Https and Truststore Settings, you can configure the Client and Server keystores HTTP Analyzer needs to run with SSL.&lt;br /&gt;&lt;br /&gt;If you followed my exact instructions on setting up a selfsigned CA into the WLS identity and trust keystores, you need to enter the following options in the Preferences Https and Trusting Settings page:&lt;br /&gt;&lt;br /&gt;Client Trusted Certificate Keystore: c:\temp\ServerTrust.jks&lt;br /&gt;Client Trusted Keystore Password: ServerTrustStorePass&lt;br /&gt;&lt;br /&gt;Server Keystore: c:\temp\ServerIdentity.jks&lt;br /&gt;Server Keystore Password: ServerCAKey&lt;br /&gt;Server Private Key Password: ServerCAKey&lt;br /&gt;&lt;br /&gt;When you run your web service you can access the HTTP Analyzer by clicking on the URL of your served web service in the JDev IDE log window, among other methods.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/Sn-tds-LA1I/AAAAAAAAA0c/SHX8Xt6G2Fg/s1600-h/sslExamplePic6.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 135px;&quot; src=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/Sn-tds-LA1I/AAAAAAAAA0c/SHX8Xt6G2Fg/s400/sslExamplePic6.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368200006648660818&quot; /&gt;&lt;/a&gt;&lt;br /&gt;This presents the following HTTP Analyzer screens:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/Sn-tdyoISaI/AAAAAAAAA0k/XZECMIMtqAo/s1600-h/sslExamplePic7.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 318px;&quot; src=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/Sn-tdyoISaI/AAAAAAAAA0k/XZECMIMtqAo/s400/sslExamplePic7.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368200008166820258&quot; /&gt;&lt;/a&gt;&lt;br /&gt;In the top of the screen you&#039;ll see the HTTP Analyzer has formed a dummy request for you to send out based on the web service&#039;s WSDL.  In my example picture I&#039;ve filled out the part field and pressed Send Request, of which you can see the reply from the web service on the right hand side.&lt;br /&gt;&lt;br /&gt;At the bottom of the screen you can the individual request/responses that were generated in order to service the request.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;6) Test the running web service via SoapUI&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.soapui.org&quot;&gt;SoapUI&lt;/a&gt; is a popular web service testing tool.  I wanted to show how to configure it here to show similar results to the HTTP Analyzer.  The following steps were built with SoapUI v3.0.&lt;br /&gt;&lt;br /&gt;a) Create a new Project via File -&gt; New soapUI Project&lt;br /&gt;b) In the New SoapUI Project dialog, enter a custom project name, then your WSDL, leave the rest of the fields as default.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/Sn-tPyT8L9I/AAAAAAAAA0M/02PavQnXVWk/s1600-h/sslExamplePic3.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 199px;&quot; src=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/Sn-tPyT8L9I/AAAAAAAAA0M/02PavQnXVWk/s400/sslExamplePic3.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368199767563972562&quot; /&gt;&lt;/a&gt;&lt;br /&gt;c) In the Project list expand your new project to the last Request 1 node, and double click it.&lt;br /&gt;d) This will open the Request 1 window, showing on the left handside the outgoing request payload, where you can modify the inputElement XML element with your name.&lt;br /&gt;e) Pressing the green arrow executes the request against the webservice, you&#039;ll now hopefully see the SOAP response on the right handside of the window.&lt;br /&gt;f) Note at the bottom right of the right handside of the window you have the text SSL Info.  Clicking on this shows another sub-window with the SSL certificate information that was swapped with the WLS server to undertake the SSL communications.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/Sn-tdVNlc2I/AAAAAAAAA0U/mE_WmvxK4dY/s1600-h/sslExamplePic4.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 243px;&quot; src=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/Sn-tdVNlc2I/AAAAAAAAA0U/mE_WmvxK4dY/s400/sslExamplePic4.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368200000270857058&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;7) Test the running web service via a JAX-WS client&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Assuming under JDeveloper you know how to create a Java Proxy for the deployed web service, you&#039;ll end up with the following code:&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;import clientexamples.SSLUtilities;&lt;br /&gt;&lt;br /&gt;import javax.xml.ws.WebServiceRef;&lt;br /&gt;&lt;br /&gt;public class OneWaySSLPortTypePortClient&lt;br /&gt;{&lt;br /&gt;  @WebServiceRef&lt;br /&gt;  private static OneWaySSLService oneWaySSLService;&lt;br /&gt;&lt;br /&gt;  public static void main(String [] args)&lt;br /&gt;  {&lt;br /&gt;    oneWaySSLService = new OneWaySSLService();&lt;br /&gt;    OneWaySSLPortType oneWaySSLPortType = oneWaySSLService.getOneWaySSLPortTypePort();&lt;br /&gt;&lt;br /&gt;    SSLUtilities.trustAllHttpsCertificates(); &lt;br /&gt;&lt;br /&gt;    System.out.println(oneWaySSLPortType.oneWaySSLOperation(&quot;Chris&quot;));&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;Note SSLUtilities is a handy class written by &lt;a href=&quot;http://schrepfler.blogspot.com/2009/06/relaxing-ssl-validation-for-jaxws.html&quot;&gt;Srgjan Srepfler&lt;/a&gt; that includes a number of methods for handling and modifying the default SSL behaviour.  In our case in writing a simple test client we&#039;re not overly concerned about trusting the server&#039;s CA, so we can use SSUtilities.trustAllHttpsCertificates to stop the required checking.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;8) Inspect the web service packets on the wire to verify the traffic is indeed encrypted&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What neither JDeveloper&#039;s HTTP Analyzer nor SoapUI can do is actually confirm for you that the traffic on the network was actually encrypted. To check this we can use a wire sniffing tool called &lt;a href=&quot;http://www.wireshark.org/&quot;&gt;WireShark&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Warning: at some sites using wire sniffing tools like WireShark can be a dismissible offence because you can see private data on the network.  Be careful to check your organisation policies before doing this.&lt;br /&gt;&lt;br /&gt;Note if you&#039;re running the JAX-WS web services via the integrated WLS on the same localhost as SoapUI, you&#039;re most likely running through the localhost address.  For various technical reasons WireShark cannot sniff packets through localhost or the MS loopback adapter in Windows.  Instead we must separate our WLS and SoapUI installations, and place them on different hosts.  Let&#039;s call them Box1 and Box2, with WLS and SoapUI installed respectively&lt;br /&gt;&lt;br /&gt;Once you have both up and running, determine the IP address of Box2.  Let&#039;s say that IP address was: 101.102.103.104&lt;br /&gt;&lt;br /&gt;a) Start WireShark.  In the filter box top left enter: ip.addr == 101.102.103.104&lt;br /&gt;b) Select the filter Apply button.&lt;br /&gt;c) Select the Capture -&gt; Interfaces&lt;br /&gt;d) Select the Start button for your ethernet card&lt;br /&gt;e) WireShark is now sitting listening for traffic from the other ip.address of Box2.&lt;br /&gt;&lt;br /&gt;f) Now in SoapUI execute the request.&lt;br /&gt;g)In WireShark you should see the incoming requests:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/Sn-tOGA54oI/AAAAAAAAAzs/1IjFetqMjdo/s1600-h/sslExample5.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 248px;&quot; src=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/Sn-tOGA54oI/AAAAAAAAAzs/1IjFetqMjdo/s400/sslExample5.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368199738493100674&quot; /&gt;&lt;/a&gt;&lt;br /&gt;As WireShark works at the network level it sees the individual packets, several of which will comprise the request/response between SoapUI and WLS, effectively an incredible amount of detail.  You can select each packet and look at the data contained within in the bottom window of the display.  This window shows the data in both hex and raw text, so you&#039;ll need to carefully look to see the data contained within.  Obviously if the traffic is encrypted you wont see much meaning at all which is what we want! To see the unencrypted traffic, remove the policy from your web service, redeploy it and run the same scenario again.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Thanks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I must aim my very strong thanks to Gerard Davison from Oracle UK with assistance with this article, Gerard&#039;s help has been invaluable.  Any mistakes in this post are of course mine however, of which I&#039;m sure there will be a few in such a long post.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/38586079-5229552844110935684?l=one-size-doesnt-fit-all.blogspot.com&#039;/&gt;&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/OneSizeDoesntFitAll/~4/O59z4Eqp0Uw&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1075471&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 02 Sep 2009 11:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1075471</guid>
</item>
<item>
 <title>Net-Centricity: SOA in Battle</title>
 <link>http://oracle.sys-con.com/node/1077491</link>
 <description>As the DoD and their contractors hammered out the details of Net-Centricity, it became increasingly clear that Net-Centricity required a broad, architectural approach to achieving agile information sharing in the context of a complex, siloed organization. At that point, SOA entered the Net-Centricity picture, providing essential best practices for sharing information resources to support business process needs. In the military context, such business processes are operational processes, where the operation at hand might be fueling airplanes or deploying ground troops or spying on suspected terrorists with a satellite. When battlefield commanders say that they want the warfighting resources at their disposal to be available as needed to achieve their mission objectives, they are essentially requiring a Service-Oriented approach to Net-Centricity. &lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1077491&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 20 Aug 2009 05:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1077491</guid>
</item>
<item>
 <title>The Cloud, SaaS, and IT PPM</title>
 <link>http://oracle.sys-con.com/node/1051877</link>
 <description>In the same vein as the article on BPMS, have you considered a SaaS based IT PPMS (Project and Portfolio Management Systems) tool for your next project?  If you are in that process now, you&#039;re in luck as Gartner has recently released their review of those tools.  The report can be [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=raydepena.wordpress.com&amp;blog=8415396&amp;post=234&amp;subd=raydepena&amp;ref=&amp;feed=1&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1051877&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 31 Jul 2009 05:10:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1051877</guid>
</item>
<item>
 <title>The Inter-Cloud of Clouds: Computing in a Multicloud World</title>
 <link>http://oracle.sys-con.com/node/1048412</link>
 <description>I admit it, it&#039;s taken me a while to come around to the term inter-cloud, a concept being primarily promoted by Cisco as part of their Unified Computing platform. Lately the term seems to have been picking up some steam so I thought I&#039;d take a moment to examine it a bit further.&lt;br /&gt;&lt;br /&gt;My interpretation of the so called &quot;inter-cloud&quot; is the abstract ability to exchange information between distinct computing clouds (storage, compute, messaging etc) be it public or private in a uniform/unified way. I&#039;ve come to think of it like a higher level inter-connected network atop the current world wide web via linked API&#039;s and data sources. Greg Papadopoulos from Sun calls it &lt;a href=&quot;http://blogs.sun.com/Gregp/entry/the_intercloud&quot;&gt;a Cloud of Clouds&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In one of the &lt;a href=&quot;http://googleresearch.blogspot.com/2009/04/cloud-computing-and-internet.html&quot;&gt;more thought provoking posts I&#039;ve read in a long time&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Vint_Cerf&quot;&gt;Vint Cerf&lt;/a&gt; (the father of the Internet &amp;amp; Google&#039;s Chief Internet Evangelist) compares the emergence of cloud computing and more specifically the inter-cloud to &quot;the networks of the 1960s -- each network was typically proprietary. These networks were specific to each manufacturer and did not interconnect nor even have a way to express the idea of connecting to another network.&quot; Exactly the same problem we now face with the current generation of cloud infrastructure and services.&lt;br /&gt;&lt;br /&gt;Cerf goes on to state the problem with the current inter-cloud is that &quot;each cloud is a system unto itself. There is no way to express the idea of exchanging information between distinct computing clouds because there is no way to express the idea of “another cloud.” Nor is there any way to describe the information that is to be exchanged. Moreover, if the information contained in one computing cloud is protected from access by any but authorized users, there is no way to express how that protection is provided and how information about it should be propagated to another cloud when the data is transferred.&quot;&lt;br /&gt;&lt;br /&gt;Interestingly he points to work being done by another father of the Internet, &lt;a href=&quot;http://en.wikipedia.org/wiki/Tim_Berners-Lee&quot;&gt;Sir Tim Berners-Lee&lt;/a&gt; (the inventor the World Wide Web) who has been pursuing ideas that may solve these so-called “inter-cloud” problems. According to Cerf, Tim Berners-Lee&#039;s idea is that by semantically linking data, we are able to create &quot;the missing part of the vocabulary needed to interconnect computing clouds. The semantics of data and of the actions one can take on the data, and the vocabulary in which these actions are expressed appear to constitute the beginning of an inter-cloud computing language.&quot;&lt;br /&gt;&lt;br /&gt;I understand this next statement may cause some lively debate, but I will say it anyway. If I am interpreting his assertion correctly, what the world needs is not yet another API to control the finer nuances of a physical or virtual infrastructure but instead a way for that infrastructure to communicate with other clouds around it regardless of what it is. The biggest hurdle to cloud interoperability appears to have very little to do with a willingness for cloud vendors to create open cloud API&#039;s but instead the willingness to provide the ability for these clouds to effectively inter-operate with one another. More simply the capability to work along side other cloud platforms in an open way.&lt;br /&gt;&lt;br /&gt;Ever the visionary, Cerf says it best. The Cloud represents a &quot;new layer in the Internet architecture and, like the many layers that have been invented before, it is an open opportunity to add functionality to an increasingly global network..&quot; Amen brotha.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;br /&gt;
&lt;hr /&gt;
&lt;a href=&quot;http://www.enomaly.com&quot;&gt;Announcing The Enomaly Cloud Service Provider Edition&lt;/a&gt; | &lt;a href=&quot;http://www.twitter.com/ruv&quot;&gt;Twitter Me&lt;/a&gt; | &lt;a href=&quot;http://www.linkedin.com/in/reuvencohen&quot;&gt;Get Linkedin&lt;/a&gt; | &lt;a href=&quot;https://cloudcomputing.wufoo.com/forms/contact-reuven/&quot;&gt;Contact Reuven&lt;/a&gt; | &lt;a href=&quot;http://www.elasticvapor.com/2009/05/elasticvapor-disclosure-policy.html&quot;&gt;Disclosure Policy&lt;/a&gt;
&lt;hr /&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/4159824378751259880-8015961348461249783?l=www.elasticvapor.com&#039;/&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=YobBBnFNed4:nLLPkD9igNk:4cEx4HpKnUU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?i=YobBBnFNed4:nLLPkD9igNk:4cEx4HpKnUU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=YobBBnFNed4:nLLPkD9igNk:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=YobBBnFNed4:nLLPkD9igNk:63t7Ie-LG7Y&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?d=63t7Ie-LG7Y&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=YobBBnFNed4:nLLPkD9igNk:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=YobBBnFNed4:nLLPkD9igNk:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=YobBBnFNed4:nLLPkD9igNk:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?i=YobBBnFNed4:nLLPkD9igNk:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?a=YobBBnFNed4:nLLPkD9igNk:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Elasticvapor?i=YobBBnFNed4:nLLPkD9igNk:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Elasticvapor/~4/YobBBnFNed4&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1048412&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 27 Jul 2009 22:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1048412</guid>
</item>
<item>
 <title>Is a Private Cloud Worthwhile?</title>
 <link>http://oracle.sys-con.com/node/1046279</link>
 <description>Much discussion in the cloud computing world has focused on a simple question: Is a private cloud infrastructure worthy of the name? It&#039;s been posed in many ways, with some going so far as claiming that there is no such thing as a private cloud. Although discussions like these are all too common in many areas, the question really amounts to little more than counting angels dancing on pin heads. The key issue is whether private cloud-style infrastructure can deliver real benefits like public clouds can.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1046279&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 27 Jul 2009 17:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1046279</guid>
</item>
<item>
 <title>Then What Does Make Someone an Architect?</title>
 <link>http://oracle.sys-con.com/node/1025528</link>
 <description>
&quot;Historically, the architect has been the coordinator of all other disciplines involved in the building process. According to training and licensing exams, architects must be able to integrate all building disciplines to protect the overall health, safety, and welfare of a project. We are responsible for not only this integration and the accessibility of structures and their surroundings for human use and habitation, but also for the end result in terms of use, quality, composition, and appearance; engineers are responsible for the application of mathematical and physical sciences, within an area of expertise, and the related health, safety, and welfare. While architects are tested in engineering systems [structures, electrical, mechanical, and site design], building construction materials and methods, codes, contracts, programming, spatial relations, history, and theory, engineers are tested only for specific systems and disciplines. Engineers have a narrow focus; architects bridge the gap between the systems [what engineers design] and what the community needs.&quot; &lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1025528&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 20 Jul 2009 17:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1025528</guid>
</item>
<item>
 <title>Cloud Services Interest Erupts in Groundswell</title>
 <link>http://oracle.sys-con.com/node/1040228</link>
 <description>The anticipated benefits from adopting managed cloud services have reached the executives suites of many corporations. Proactive CEOs and CFOs are pushing their IT leadership team to seek out actionable information and guidance.

There&#039;s also a constant stream of service providers announcing new offerings -- and the momentum is becoming a global phenomenon. As a result, Forrester Research has witnessed an expanding number of client inquiries around cloud computing.

The acceleration in market development has been building for some time now. Forrester analysts responded to more than 264 client inquiries about cloud computing between January 2008 and April 1, 2009 from companies of all sizes and industries.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1040228&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 19 Jul 2009 16:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1040228</guid>
</item>
<item>
 <title>Top Performing Vendors in CRM Suites Revealed</title>
 <link>http://oracle.sys-con.com/node/1039525</link>
 <description>The research showcases which vendors enabled client success based on the value delivered and the ability of the vendor to support and service its clientele. According to John Pearson, VP Competitive Intelligence Products for Aberdeen, &quot;The 32-page vendor assessment is based on two key dimensions: first, Aberdeen aggregated top performance of companies in the target marketplace based on 1114 primary surveys conducted typically over the past eighteen months; and second, Aberdeen conducts a vendor readiness assessment which includes evaluation of responses to a standardized vendor questionnaire, analyst briefings, public records and customer interviews.&quot; &lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1039525&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sat, 18 Jul 2009 13:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1039525</guid>
</item>
<item>
 <title>Why Microsoft Should Finally Buy Citrix</title>
 <link>http://oracle.sys-con.com/node/1039120</link>
 <description>I’ve written a good bit here about the various ways Microsoft and Citrix overlap in the hypervisor space, ranging from topics like shared code base through competition for the desktop space. To me, these two players have always been the underdogs battling for the right to go head-to-head against VMware in the main enterprise (and now cloud) virtual data center event. I’ve long said here that I think Microsoft is in the best position to make that move, but to be honest, Citrix currently has better technology. In other words, Microsoft has a better strategic play, Citrix a better tactical play. The announcements that came of out Synergy last week prove that. Citrix knows what it’s doing and they know how to build virtualization products to compete with VMware.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1039120&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 17 Jul 2009 10:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1039120</guid>
</item>
<item>
 <title>The Impact of Making Product Choices</title>
 <link>http://oracle.sys-con.com/node/1039126</link>
 <description>As part of my job, I help customers to select the appropriate software to either fulfill a need or as a component of a larger solution.  Fulfilling this role means comparing similar software offerings and selecting the best fit.  The challenge in this goal is to map the vendor offering into a subjective requirement, such [...]&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1039126&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 17 Jul 2009 09:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1039126</guid>
</item>
<item>
 <title>Cloud Computing Is the Next Great Land Rush and It Is Happening Now</title>
 <link>http://oracle.sys-con.com/node/1024373</link>
 <description>In theory, migration to the Cloud makes business sense; you’re enabling companies to rent computing power that would cost them too much to buy.  I won’t bore you with yet another blog post on the ‘what is it’ topic.  There is a great synopsis of Cloud Computing published by Mache Creeger and I recommend checking it out.  In our model, we’re allowing companies to pool their resources on the supply side of Cloud Computing and leverage a much bigger, better shared infrastructure on the demand side of the equation.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1024373&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 16 Jul 2009 16:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1024373</guid>
</item>
<item>
 <title>Cloud Interoperability: Haven&#039;t We Danced Before?</title>
 <link>http://oracle.sys-con.com/node/1033931</link>
 <description>It amuses me when people start throwing about phrases like “interoperability” and “federation” in a space still hopping in the middle of the hype cycle. 

You would think that with our long and growing history, we in IT could be realistic about the prospects of any early implementers putting interoperability high on the list above functionality, wouldn’t you?
&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1033931&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 15 Jul 2009 17:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1033931</guid>
</item>
<item>
 <title>Oracle Has Made a Big Commitment to Java </title>
 <link>http://oracle.sys-con.com/node/1023795</link>
 <description>Today, Chuck Phillips, president of Oracle, said that Oracle was committed to provide “A Single Stack of Technology to Simplify Enterprise IT”. In order for a “Single Stack” to successfully simplify IT, Enterprise Software practitioners must commit their entire Enterprise Architecture to a single vendor.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1023795&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 05 Jul 2009 12:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1023795</guid>
</item>
<item>
 <title>Oracle Fusion Middleware 11g Launched</title>
 <link>http://oracle.sys-con.com/node/1022786</link>
 <description>Today is the day we officially launch Oracle Fusion Middleware 11g. The major areas of investment have been the completion of the integration between Oracle and BEA products into unified suites.  This matches to the month the schedule that we had committed to publicly when announcing the BEA Strategy last June.  This continues our excellent track record of buying best-of-breed software and integrating it together into a common environment.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1022786&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 01 Jul 2009 18:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1022786</guid>
</item>
<item>
 <title>Oracle Adds Zest to SQL Developer with Standalone Data Modeling Tool</title>
 <link>http://oracle.sys-con.com/node/1019031</link>
 <description>The whole SQL databases and associated tools and modeling ecosystem is ripe for tumult. My best guess is that Oracle&#039;s pending Sun Microsystems purchase will provide offense via MySQL, and the associated community, to target the Microsoft SQL Server franchise.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/1019031&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 29 Jun 2009 13:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/1019031</guid>
</item>
<item>
 <title>Q&amp;A With Grant Ronald</title>
 <link>http://oracle.sys-con.com/node/994372</link>
 <description>(This is a reprint of an article published in the UKOUG&#039;s Select magazine early this year)&lt;br /&gt;&lt;br /&gt;When talking about Oracle Forms and JDeveloper, one Oracle personality stands out among others - long time blogger Grant Ronald from Oracle Corporation UK. Grant has for a long time “pimped” Oracle Forms and its big brother JDeveloper at Oracle events and user groups events around the world. His popularity is shown by his blog receiving on average 2000 hits per day. Lately, to reassure Oracle customers that Oracle intends to keep on supporting Oracle Forms and show that Forms has a future inline with JDeveloper, Grant has been responsible for the Oracle’s Forms Modernization message.&lt;br /&gt;&lt;br /&gt;Chris Muir from SAGE Computing Services Australia conducted the following Q&amp;A session with Grant to get the low down and latest on Forms and JDeveloper, as well as a little about Grant himself.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: What role do you currently play at Oracle and what does your day job entail?&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;br /&gt;Grant Ronald&lt;/span&gt;: Well, my title says “Group Product Manager” and the products I cover are Oracle Forms and Oracle JDeveloper. As a Product Manager you are responsible for the success of the products in your area. That encompasses everything from working with developers on features, the marketing department on campaigns or delivering presentations at events like Oracle World. In the morning you can be rolling your sleeves up and getting into code with a developer, and in the afternoon you can be meeting with the CTO. It’s that varied.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: How did you get into this Oracle gig anyhow? What’s your background at Oracle and computing in general?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: Back in the early ’80s, home computing was slowly starting to take off with computers like the Sinclair Spectrum, Vic20 and BBC home computers, and it seemed like a new an innovative field to get involved in when I left school. So I got my degree in Computing Science then joined a small IT outfit in the UK that eventually got consumed by EDS. It was a pretty typical development role for about seven years, mainly focused on military applications, and my last job was designing, developing and leading the team for the development of the user interface for a military email system.&lt;br /&gt;&lt;br /&gt;This took me up to 1996 when I fancied a change, and Oracle was looking for people with development experience on Unix and Motif in their support organization. So I joined Oracle Support where I eventually headed up the group who supported the local EMEA (Europe, Middle East, Africa) teams in Forms, Reports and Discoverer. Given that I was working closely with the Oracle Product Management team in this role, I was eventually persuaded to make the jump into Oracle Development!&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: Ok, now for some tough questions worthy of any Q&amp;A: You’re currently known via your blog for discussions on Oracle development including Forms and SOA, and presentations in Oracle Developer Days around the world. Previously you were also known for you work on JDeveloper. Why the change? Has Oracle internally panicked about the impression (my emphasis) customers are getting that Oracle has killed Forms, and now the need for Forms advocates?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: There has not really been a change. The thing is, we’ve never stopped talking about Forms. I’ve got the air miles and passport stamps to show that we were still presenting Forms at Oracle World, ODTUG (Oracle Development Tools User Group), UKOUG (UK Oracle User Group), DOAG (German Oracle User Group) and dozens of other events covering EMEA, APAC and the Americas.&lt;br /&gt;&lt;br /&gt;The &lt;a href=&quot;http://otn.oracle.com/products/forms&quot;&gt;Forms OTN page&lt;/a&gt; is still a hive of activity: news, events, whitepapers and how-to’s. Maybe people thought we had stopped talking about Forms because we were also talking about other technologies as well. Ten years ago if you developed on an Oracle database then you pretty much used Forms, simple as that. But the world has changed and there are other things to talk about now. Which makes sense, if you think about it; there is more need and more demand to be talking about the “new” stuff, especially when it is evolving at such a rate.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: On discussing Forms and considering that some Oracle customers are confused on the future of Forms, can you outline Oracle’s commitment to Forms in terms of existing versions and Oracle Support?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: I think the strongest statement we have is the fact that we published a statement of direction five years ago and that statement remains true today. We’ve always said that we are committed to Forms and that there have been no plans to desupport it. That line has never changed. Regarding support, we’ve recently just extended the support date for 10.1.2 (the latest release of Oracle Forms) and Forms 11g is in development, having already had positive reviews from our beta testers. So we are lengthening the support dates, we are working on the next release and we are also discussing enhancements and features for post 11g. I think that’s all good news.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: Could the problem with Oracle Forms just be an image problem? It’s never been known for sexy development (a’la grey screens of boredom), and especially now that the web world, web rich clients, AJAX etc have taken off.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: The sweet spot for Oracle Forms has always been the ability to rapidly develop rich, transactional business applications. So you see Oracle Forms applications in your government offices, airlines and bank back-offices etc. The need for visual “bells and whistles” is less at the fore than, for example, an online shopping application where a user makes a snap decision, often based on visual aesthetics, as to whether they will use the site.&lt;br /&gt;&lt;br /&gt;But there is nothing to stop you pushing the boundaries of the visual aspects of Oracle Forms. We have customers who are using some of the features of Oracle Forms, like PJCs and Java beans, to really push the boundaries of the Forms UI. Like this &lt;a href=&quot;http://www.oracle.com/technology/products/forms/pdf/capula.pdf&quot;&gt;story&lt;/a&gt;. So there is nothing to stop you modernizing your Forms application, starting with an update of the user interface.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: So what plans do Oracle have in addressing Forms customers?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: We are continuing to present at all the major events and user groups. In addition, we’ve launched a focus &lt;a href=&quot;http://otn.oracle.com/goto/formsmodernize&quot;&gt;page&lt;/a&gt;. This includes recorded webcasts on Forms strategy, calling web services from Forms and Forms new features. There are also white papers and customer stories as well. This is also being backed up by a roadshow which to date has hit nearly 20 countries.&lt;br /&gt;&lt;br /&gt;For those Forms customers who are taking a step into the Java world, we have a dedicated site on &lt;a href=&quot;http://otn.oracle.com/formsdesignerj2ee&quot;&gt;OTN&lt;/a&gt; as well as dedicated developers guides, books and Oracle University courses.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: Consider an Oracle shop with a large legacy Oracle Forms application that is running well but in a desupported version of Forms. Should they have any intentions of upgrading their Forms installs and what are the risks if they don’t?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: Our roadmap for Forms customers is “upgrade and integrate”. So the first point to consider is upgrade. There are, of course, benefits of upgrading but you also have to consider the risk of not upgrading: running your business applications on desupported software that is neither security nor bug patched, or being certified on newer OS or database versions. Are you managing the risk that some piece of this stack may change and destabilise your applications (e.g. a forced O/S upgrade), or are you just hoping that this software tower will hold up with no means of support. It’s your call.&lt;br /&gt;&lt;br /&gt;Which takes us to the next point: integration. By web deploying your Forms on the application server, you are positioning yourself on a platform on which you can integrate both your legacy applications, and new services and applications.&lt;br /&gt;&lt;br /&gt;By following the “upgrade and integrate” roadmap, you can limit the risk to your business applications while still positioning yourself for your long-term strategic goals.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: Consider an Oracle shop with a large amount of SQL and PL/SQL programmers who are cognisant in Forms. Which Oracle development technology should they pick for maintenance and extension of the existing system: Forms, Apex or JDeveloper/ADF?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: The simplest answer is really to pick the technology/tool that suits you best. If you are extending your existing Forms application it may be that you build new business logic in the database that could be shared between Forms, Java and Apex applications. Or you might decide that you really want to exploit the power of Java and so JDeveloper and ADF would be a natural choice. Many customers are closely aligned with Oracle’s business applications and so the Oracle Fusion technology stack may drive the choice of development tool. I try to discourage customers to think in binary terms when choosing tools. The reality is that you will probably have a mix.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: You mention that JDeveloper and ADF would be the natural choice for an Oracle developer. Why?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: As I mentioned earlier, I look after Oracle Forms and Oracle JDeveloper. One reason for this split in roles is to bring my 4GL Forms experiences into JDeveloper and Oracle ADF. When I first joined the JDeveloper team I was amazed how developers were willing to write lines of code for common actions that I set with the click of a checkbox in Forms. Part of my job is to ensure that the kind of rich features a Forms developer takes for granted are implemented in JDeveloper and Oracle ADF.&lt;br /&gt;&lt;br /&gt;JDeveloper and Oracle ADF is also a natural choice because it’s the route our own Applications Division is taking. Our next generation Fusion applications are being built using JDeveloper and ADF. So, as the technology choice for Oracle’s own Fusion Applications, the technology is built with the Forms/Database and PL/SQL developers in mind. No other tool or framework can make this claim.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: What skills do you see a Forms developer needing in moving to ADF, and what approach do you suggest to a development team in minimising this learning curve?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: There is a learning curve in moving to any new technology but with JDeveloper and ADF we are really smoothing out that learning curve and lowering the barrier at which you can start to become productive.&lt;br /&gt;&lt;br /&gt;Of course, the bottom line is that you will need some Java knowledge, but how much depends on how far you want to get below the covers and customize the behaviour of the framework.&lt;br /&gt;&lt;br /&gt;With an overview of ADF and some basic Java language skills, you can go a long way: building business services, validation, page flow, rich UI interaction, LOVs, graphs – stuff that you couldn’t even consider if you weren’t using ADF.&lt;br /&gt;&lt;br /&gt;But if you have made a strategic choice to develop on the Java platform, I’d expect you to still have some members of your team who have a more advanced knowledge of the platform so they can make architectural decisions and set up best practices. We are also working on giving you the learning aids to get up to speed. We have developed a number of Oracle University courses specifically targeted at the Forms audience moving to Java. There are a number of books already published and more in the pipeline that are aimed at opening up the platform. And of course, we have a dedicated focus page on &lt;a href=&quot;http://otn.oracle.com/formsdesignerj2ee&quot;&gt;OTN&lt;/a&gt; and the essential ADF developer guides for 4GL developers.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: Recently you’ve been focusing on SOA technology integration with Forms. Why advantages do you see this combination providing? What challenges do Forms programmers face with integration?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: The benefits of a service based approach are already well documented: loosely coupled, reusable implementations of business processes gives a more flexible, agile architecture that is better aligned to the business.&lt;br /&gt;&lt;br /&gt;Much of the work we are doing with Oracle Forms now is to allow your existing Forms application to hook into the SOA world. The ability to call out to web services and for those services to call back asynchronously is one example.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: Grabbing your crystal ball, given your long-term experience in development, where do you see Oracle development in 10 years time?&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: I think the clearest view of the future can be seen in Oracle’s own business applications. Oracle’s Applications Division have upgraded to the most recent version of Forms, while looking to exploit the benefits of a services oriented architecture and a standards based platform. Using JDeveloper and Oracle ADF, they are taking developers from a background including Forms, PL/SQL and Peopletools, and making them productive on the Java platform.&lt;br /&gt;&lt;br /&gt;I think this gives the clearest indication of where Oracle development is heading and I think there is a great comfort in knowing that the technology choices you are making are the ones Oracle is betting its business applications on as well.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CM&lt;/span&gt;: Finally, moving out of the Oracle arena, what keeps you kicking out of work? I know you play in a band.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Grant Ronald&lt;/span&gt;: I play a bit of keys in a band, and that mixed with a few weekends out biking helps balance out all the fun I have at Oracle!&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;//blogger.googleusercontent.com/tracker/38586079-1784712213652396225?l=one-size-doesnt-fit-all.blogspot.com&#039;/&gt;&lt;/div&gt;&lt;img src=&quot;http://feeds2.feedburner.com/~r/OneSizeDoesntFitAll/~4/dptTVG0QZRo&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/994372&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 09 Jun 2009 13:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/994372</guid>
</item>
<item>
 <title>Finding New Life For SOA in the Cloud</title>
 <link>http://oracle.sys-con.com/node/910649</link>
 <description>We’ve been having quite a few discussions with analysts over the past few months on the subject of “cloud”. The interesting thing about these discussions is the vast array of points of view from which those analysts are viewing “cloud”. Some are focused on the network aspects, others on pricing/differentiation, and some are even very focused on what “cloud” means to applications – and the organizations that will, allegedly, take advantage of the cloud as a means of application deployment. 

One such analyst is Daryl Plummer of Gartner. Daryl has always been very application focused so it’s always a pleasure to speak with him and, of late, read what he has to say via his blog. (Daryl is also a cartoonist, and has turned his interests in that area on the cloud, resulting in “G-Men”. If you haven’t yet, take a gander. He’s quite talented.) 

The last time we spoke to Daryl he asked “What can you do to help an organization move a monolithic application into the cloud?” That’s a fairly straightforward answer for F5, unless you specify that the organization wants to move workload into the cloud, not necessarily the entire application. 
&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/910649&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 28 May 2009 07:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/910649</guid>
</item>
<item>
 <title>Oracle on Sun Java, MySQL, OpenOffice, and Linux</title>
 <link>http://oracle.sys-con.com/node/970507</link>
 <description>If you are  lucky, and curious enough, Oracle can be the best place to learn the enterprise  software market. I have worked at Oracle for about seven years and, in my  entire career, it is where I have learned the most about enterprise software. When  Oracle announced it was buying Sun, [...]&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/970507&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 19 May 2009 12:14:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/970507</guid>
</item>
<item>
 <title>It&#039;s the End of Sun, Only Oracle Survives: Charles Fitzgerald</title>
 <link>http://oracle.sys-con.com/node/930494</link>
 <description>Charles Fitzgerald suspects IBM is going to regret not acquiring Sun, and letting Oracle do so instead. &quot;They regretted giving Microsoft control of the software crown jewels for the PC; they may face similar situation now on the server.&quot; Fitzgerald knows whereof he speaks, having been Microsoft&#039;s former general manager of platform strategy until early last year.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/930494&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 22 Apr 2009 07:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/930494</guid>
</item>
<item>
 <title>Oracle Wants To Be The Apple Of The Enterprise, But It Just Became IBM</title>
 <link>http://oracle.sys-con.com/node/927793</link>
 <description>Larry Ellison has always wanted to be the Steve Jobs of the enterprise. With this morning’s announcement that Oracle will buy Sun Microsystems for $7.4 billion, he took a big step towards making Oracle more of a soup-to-nuts provider of enterprise technology. With Sun, he will now be able to build and package together everything from chips and servers to operating systems, Java middleware, databases, and enterprise applications.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/927793&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 20 Apr 2009 04:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/927793</guid>
</item>
<item>
 <title>Examining Cloud Computing Mergers &amp; Acquisitions</title>
 <link>http://oracle.sys-con.com/node/893141</link>
 <description>One topic that keeps reoccurring in my various conversations is the sudden interest in cloud centric M&amp;A activities thanks in part to the recent IBM / Sun rumors. Being that I continuously find myself in the midst of a lot of the back room, off the record type conversations I thought I&#039;d share some of my recent insights into cloud m&amp;a.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/893141&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 06 Apr 2009 06:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/893141</guid>
</item>
<item>
 <title>The Coming Cloud Computing Wars</title>
 <link>http://oracle.sys-con.com/node/849542</link>
 <description>The cloud computing meme continues to billow as Juniper and IBM announce a cloud management partnership rumors swirl about heavy petting between VMware and shareholder/partner Cisco.  A few months ago it seemed like every cloud discussion included Google and/or Amazon; now it appears that “the network infrastructure issue” has finally reared its head and ushered in networking and management leaders into the cloud conversation.
&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/849542&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sat, 21 Feb 2009 00:00:00 EST</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/849542</guid>
</item>
<item>
 <title>Red Hat Named &quot;Platinum Sponsor&quot; of Virtualization Conference &amp; Expo</title>
 <link>http://oracle.sys-con.com/node/519763</link>
 <description>Red Hat is a  trusted open source provider.  Red Hat offers enterprise customers a long-term plan for building infrastructures on the quality and innovation of open source. Combining open source operating system platform, Red Hat Enterprise Linux, together with applications, management, and Services Oriented Architecture (SOA) solutions, including the JBoss Enterprise Middleware Suite.&lt;p&gt;&lt;a href=&quot;http://oracle.sys-con.com/node/519763&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 29 May 2008 14:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://oracle.sys-con.com/node/519763</guid>
</item>
</channel>
</rss>
