<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Berthold Maier's Weblog</title>
	<atom:link href="http://bmaier.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://bmaier.wordpress.com</link>
	<description>Softwareentwicklung</description>
	<lastBuildDate>Mon, 14 Dec 2009 09:36:54 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='bmaier.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/f438ce3d849b76d752a4a1199485af36?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Berthold Maier's Weblog</title>
		<link>http://bmaier.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://bmaier.wordpress.com/osd.xml" title="Berthold Maier&#8217;s Weblog" />
		<item>
		<title>Oracle Sample Sourcecode Forge</title>
		<link>http://bmaier.wordpress.com/2009/12/14/oracle-sample-sourcecode-forge/</link>
		<comments>http://bmaier.wordpress.com/2009/12/14/oracle-sample-sourcecode-forge/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 09:36:54 +0000</pubDate>
		<dc:creator>bmaier</dc:creator>
				<category><![CDATA[Nicht kategorisiert]]></category>

		<guid isPermaLink="false">http://bmaier.wordpress.com/2009/12/14/oracle-sample-sourcecode-forge/</guid>
		<description><![CDATA[Beispiel sagen mehr als 1000 Worte. Oracle hat deshalb seit kurzem einen Relaunch der Sample Sourcecode Seite von BEA durchgeführt https://www.samplecode.oracle.com/. Nun findet man neben den ex. BEA-Produkten auch viele Beispiele rund um die Oracle Produkte und den Sourcecode des neune Jdeveloper / ADF 11g Buches von Duncan Mills, Peter Koletzke, und Avrom Roy-Faderman.
  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=66&subd=bmaier&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Beispiel sagen mehr als 1000 Worte. Oracle hat deshalb seit kurzem einen Relaunch der <a href="https://www.samplecode.oracle.com/" target="_blank">Sample Sourcecode</a> Seite von BEA durchgeführt <a href="https://www.samplecode.oracle.com/" target="_blank">https://www.samplecode.oracle.com/</a>. Nun findet man neben den ex. BEA-Produkten auch viele Beispiele rund um die Oracle Produkte und den <a href="https://tuhra2.samplecode.oracle.com/" target="_blank">Sourcecode des neune Jdeveloper / ADF </a>11g <a href="http://www.amazon.com/Oracle-JDeveloper-11g-Handbook-Development/dp/0071602380" target="_blank">Buches</a> von <a href="http://www.groundside.com/blog/DuncanMills.php" target="_blank">Duncan Mills, Peter Koletzke, und Avrom Roy-Faderman.</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bmaier.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bmaier.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bmaier.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bmaier.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bmaier.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bmaier.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bmaier.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bmaier.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bmaier.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bmaier.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=66&subd=bmaier&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bmaier.wordpress.com/2009/12/14/oracle-sample-sourcecode-forge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/de822858f9b6bb99e254d33aa8d63149?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bmaier</media:title>
		</media:content>
	</item>
		<item>
		<title>BugFix zum ADF-Buch Source Code</title>
		<link>http://bmaier.wordpress.com/2009/12/11/bugfix-zum-adf-buch-source-code/</link>
		<comments>http://bmaier.wordpress.com/2009/12/11/bugfix-zum-adf-buch-source-code/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 17:36:53 +0000</pubDate>
		<dc:creator>bmaier</dc:creator>
				<category><![CDATA[Nicht kategorisiert]]></category>

		<guid isPermaLink="false">http://bmaier.wordpress.com/2009/12/11/bugfix-zum-adf-buch-source-code/</guid>
		<description><![CDATA[Heute habe ich ein paar ADF-Beispiele des JDeveloper 11g Handbuchs durchgespielt und einen SQL-Fehler entdeckt. Die Tabelle IMAGE_USAGE muss im plural geschrieben sein (IMAGE_USAGES), damit die Anwendung kein SQL-Exception liefert.
Der Fix dazu ist sehr einfach. In einem beliebigen Sqleditor (sqlplus) als hr/hr@xe anmelden und folgendes Script ausgeführen:
alter table IMAGE_USAGE rename to IMAGE_USAGES;

    [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=61&subd=bmaier&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Heute habe ich ein paar <a href="https://tuhra2.samplecode.oracle.com/servlets/ProjectProcess?pageID=xL5gyF" target="_blank">ADF-Beispiele</a> des <a href="http://www.amazon.de/Oracle-JDeveloper-11g-Handbook-Development/dp/0071602380" target="_blank">JDeveloper 11g Handbuchs</a> durchgespielt und einen SQL-Fehler entdeckt. Die Tabelle IMAGE_USAGE muss im plural geschrieben sein (IMAGE_USAGES), damit die Anwendung kein SQL-Exception liefert.</p>
<p>Der Fix dazu ist sehr einfach. In einem beliebigen Sqleditor (sqlplus) als <a href="mailto:hr/hr@xe">hr/hr@xe</a> anmelden und folgendes Script ausgeführen:</p>
<pre style="border-right:#999999 1px dashed;border-top:#999999 1px dashed;font-size:12px;overflow:auto;border-left:#999999 1px dashed;width:100%;color:#000000;line-height:14px;border-bottom:#999999 1px dashed;font-family:andale mono, lucida console, monaco, fixed, monospace;background-color:#eee;padding:5px;"><code>alter table IMAGE_USAGE rename to IMAGE_USAGES;
</code></pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bmaier.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bmaier.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bmaier.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bmaier.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bmaier.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bmaier.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bmaier.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bmaier.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bmaier.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bmaier.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=61&subd=bmaier&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bmaier.wordpress.com/2009/12/11/bugfix-zum-adf-buch-source-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/de822858f9b6bb99e254d33aa8d63149?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bmaier</media:title>
		</media:content>
	</item>
		<item>
		<title>SOA, SDO und ADF</title>
		<link>http://bmaier.wordpress.com/2009/12/11/soa-sdo-und-adf/</link>
		<comments>http://bmaier.wordpress.com/2009/12/11/soa-sdo-und-adf/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 10:58:53 +0000</pubDate>
		<dc:creator>bmaier</dc:creator>
				<category><![CDATA[Nicht kategorisiert]]></category>

		<guid isPermaLink="false">http://bmaier.wordpress.com/2009/12/11/soa-sdo-und-adf/</guid>
		<description><![CDATA[Den wenigsten ist bekannt, dass ADF-BC seit Begin der Fusion Strategie enorm erweitert wurde und seit Oracle 11g Middleware produktiv verfügbar ist. 
Eine tolle neue Eigenschaft ist die erweiterte Einbettung von ADF in eine SOA mit Service Data Objects (SDO). 
Was bedeutet das nun? Bisher war es wie zu erwarten möglich Service-Operationen von Komponenten (ApplicationModules) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=60&subd=bmaier&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Den wenigsten ist bekannt, dass ADF-BC seit Begin der Fusion Strategie enorm erweitert wurde und seit Oracle 11g Middleware produktiv verfügbar ist. </p>
<p>Eine tolle neue Eigenschaft ist die erweiterte Einbettung von ADF in eine SOA mit <a title="SDO" href="http://www.osoa.org/display/Main/SDO+Resources">Service Data Objects (SDO)</a>. </p>
<p>Was bedeutet das nun? Bisher war es wie zu erwarten möglich Service-Operationen von Komponenten (ApplicationModules) als WebService zu exponieren. Diese ist die Standardfunktion aller Frameworks.&#160; Neu in ADF ist, dass nun das gesamte Datenmodell einer ADF-Anwendung als WebService SOD-Objekte bereitgestellt und darauf remote per SOAP operiert werden kann, wie auf einer lokalen Anwendungsinstanz. </p>
<p>Um das zu verstehen, muss man das Konzept von ADF kennen:    <br />Alle Java Business Objektes, in ADF-BC auch ViewObjects genannt, stellen Fassaden zu den eigentlichen EntityObjects (Java Beans) dar und entkoppeln u.a. die Zugriffsschicht von den eigentliche Datenobjekten (EntityObject). Die ViewObjekte werden zu Data Transfer Objects wenn sie übers Netz gesandt werden. Genau diese ist bei SDO der Fall. Alle ViewObjects können in ADF als SDO-Objecte exponiert werden. Es wird dabei zu jeder ViewObject Struktur eine ein XML-Schama (XSD) erzeugt und die CRUD-Operationen im WEBService Interface (WSDL) mit einem SDO Binding publiziert.&#160; Eine besondere Eigenschaft von SDO ist, dass nur die geänderten Werte per ChangeSummary an den Service per SOAP gesandt werden können und somit die Daten mit minimiertem Traffic auf Client und Server identisch gehalten werden können.</p>
<p>Habe ich nun meine ViewObjects und WebServie als SDO und WebService bereitgestellt, kann ich ein neues ADF Client-Projekt bauen die SDO-ViewObjects anstatt der Datenbanktabellen für meine EntityObjects als Datenlieferanten nutzen. Ein Beispiel dazu wird von <a href="http://andrejusb.blogspot.com/search/label/AIA">Andrejus Baranovskis</a> bereitgestellt. Eine detaillierte Beschreibung ist im ADF Developer Guide vorhanden: <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcextservices.htm">http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcextservices.htm</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bmaier.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bmaier.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bmaier.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bmaier.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bmaier.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bmaier.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bmaier.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bmaier.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bmaier.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bmaier.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=60&subd=bmaier&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bmaier.wordpress.com/2009/12/11/soa-sdo-und-adf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/de822858f9b6bb99e254d33aa8d63149?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bmaier</media:title>
		</media:content>
	</item>
		<item>
		<title>Referenzarchitektur!?</title>
		<link>http://bmaier.wordpress.com/2009/10/05/referenzarchitektur/</link>
		<comments>http://bmaier.wordpress.com/2009/10/05/referenzarchitektur/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 22:02:10 +0000</pubDate>
		<dc:creator>bmaier</dc:creator>
				<category><![CDATA[Nicht kategorisiert]]></category>

		<guid isPermaLink="false">http://bmaier.wordpress.com/?p=53</guid>
		<description><![CDATA[Eine Referenzarchitektur stellt meiner Meinung nach eine konkrete Umsetzungsvorlage des definierten Idealbilds der zu erreichenden IT-Landschaft dar. Der Weg zur Umsetzung der Referenzarchitektur ist lang, und es werden projektbedingt in der Regel externe Einflüsse die Zielarchitektur beeinflussen. Damit der am Horizont positionierte Leuchtturm (Zielarchitektur und Strategie) trotz allem erreicht wird, muss der Architekt, darauf achten, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=53&subd=bmaier&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Eine Referenzarchitektur stellt meiner Meinung nach eine konkrete Umsetzungsvorlage des definierten Idealbilds der zu erreichenden IT-Landschaft dar. Der Weg zur Umsetzung der Referenzarchitektur ist lang, und es werden projektbedingt in der Regel externe Einflüsse die Zielarchitektur beeinflussen. Damit der am Horizont positionierte Leuchtturm (Zielarchitektur und Strategie) trotz allem erreicht wird, muss der Architekt, darauf achten, dass der Pfad durch einstreuen von Frameworks, Werkzege oder Produkte durch die Entwickler, nicht zu weit verlassen wird und das Fernziel erreichbar bleibt. Ohne tiefgreifendes Know-How, einem Fundus von Best Practices innerhalb der Referenzarchitekturen und der stetigen Qualitätsprüfung bzw. deren Richtungsanpassung, wird die Architektur nicht stabil sein und sich langfristig in viele Richtungen ausbreiten. Konsequenterweise wird dies in einer unbeherrschbaren Architektur enden, wodurch die prognostizierten Vorteile wie Kostenreduzierung, Qualität und Agilität in unerreichbare Weite rücken. Dem Architekten kommt also eine zentrale Rolle zu, nicht nur bei der Definition, sondern insbesondere auch im gesamten Projektablauf von Strategie bis zur Realisierung.  </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bmaier.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bmaier.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bmaier.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bmaier.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bmaier.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bmaier.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bmaier.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bmaier.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bmaier.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bmaier.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=53&subd=bmaier&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bmaier.wordpress.com/2009/10/05/referenzarchitektur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/de822858f9b6bb99e254d33aa8d63149?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bmaier</media:title>
		</media:content>
	</item>
		<item>
		<title>ADFaces 11g Auth Redirect</title>
		<link>http://bmaier.wordpress.com/2009/07/26/adfaces-11g-auth-redirect/</link>
		<comments>http://bmaier.wordpress.com/2009/07/26/adfaces-11g-auth-redirect/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 11:07:39 +0000</pubDate>
		<dc:creator>bmaier</dc:creator>
				<category><![CDATA[11g]]></category>
		<category><![CDATA[ADF]]></category>
		<category><![CDATA[Nicht kategorisiert]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://bmaier.wordpress.com/?p=37</guid>
		<description><![CDATA[Mit folgendem Codefragment kann mit ADFFaces und  ADFSecurity auf die registrierte JEE Loginseite verwiesen werden:

}

if (!ADFContext.getCurrent().getSecurityContext().isAuthenticated()) {
            ExternalContext ctx =
                FacesContext.getCurrentInstance().getExternalContext();
         [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=37&subd=bmaier&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Mit folgendem Codefragment kann mit ADFFaces und  ADFSecurity auf die registrierte JEE Loginseite verwiesen werden:</p>
<pre>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">}</div>

if (!ADFContext.getCurrent().getSecurityContext().isAuthenticated()) {
            ExternalContext ctx =
                FacesContext.getCurrentInstance().getExternalContext();
            HttpServletRequest request = (HttpServletRequest)ctx.getRequest();
            String loginURL =
                request.getContextPath() + "/adfAuthentication?login=true&amp;success_url=/faces/welcome";

            ctx.redirect(loginURL);

            return null;
        }</pre>
<div><span style="font-family:Consolas;font-size:small;"><span style="line-height:18px;white-space:pre;"><br />
</span></span></div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bmaier.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bmaier.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bmaier.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bmaier.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bmaier.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bmaier.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bmaier.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bmaier.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bmaier.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bmaier.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=37&subd=bmaier&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bmaier.wordpress.com/2009/07/26/adfaces-11g-auth-redirect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/de822858f9b6bb99e254d33aa8d63149?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bmaier</media:title>
		</media:content>
	</item>
		<item>
		<title>Automatischer DB-Refresh der Daten auf dem Client</title>
		<link>http://bmaier.wordpress.com/2008/06/18/automatischer-db-refresh-der-daten-auf-dem-client/</link>
		<comments>http://bmaier.wordpress.com/2008/06/18/automatischer-db-refresh-der-daten-auf-dem-client/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 21:07:14 +0000</pubDate>
		<dc:creator>bmaier</dc:creator>
				<category><![CDATA[Nicht kategorisiert]]></category>
		<category><![CDATA[DB]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://bmaier.wordpress.com/?p=35</guid>
		<description><![CDATA[Wie oft steht man vor dem Problem eine Architektur zu entwickeln, die Performant sein soll und gleichzeitig die Daten auf Client/Middletierseite aktuelle sein müssen. Übliche Lösungen setzden deshalb auf Client/MiddleTier-Seite Caches wie EHCache unter Hibernate oder JDBC oder ähnliches ein. Der Refresh erfolgt dann zyklisch per Poll oder Löschen ALLER Objekte im Cache.  
Mit Oracle Database Change Notification [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=35&subd=bmaier&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Wie oft steht man vor dem Problem eine Architektur zu entwickeln, die Performant sein soll und gleichzeitig die Daten auf Client/Middletierseite aktuelle sein müssen. Übliche Lösungen setzden deshalb auf Client/MiddleTier-Seite Caches wie EHCache unter Hibernate oder JDBC oder ähnliches ein. Der Refresh erfolgt dann zyklisch per Poll oder Löschen ALLER Objekte im Cache.  </p>
<p>Mit <a class="aligncenter" title="Oracle Database Change Notification" href="http://www.oracle.com/technology/obe/11gr1_db/appdev/dcn/dcn.htm" target="_self">Oracle Database Change Notification</a> lässt sich dies jetzt eleganter lösen. DB-Änderungen werden nun satzgenau dem Client per Notification übermittelt. Im OTN existert dazu ein Beispiel für die 11g DB. Der Mechanismus funktioniert jedoch auch schon mit der Oracle XE DB Version 10.2 und dem ojdbc5 Treiber (dieser ist z.B. im 11g Jdeveloper enthalten).<br />
Das im OTN veröffentliche Beispiel &#8222;<a class="aligncenter" title="Oracle Database Change Notification" href="http://www.oracle.com/technology/obe/11gr1_db/appdev/dcn/dcn.htm" target="_self">Oracle Database Change Notification</a>&#8222;<br />
muss dann jedoch die Methode &#8222;onDatabaseChangeNotification&#8220; wie folgt ersetzen:</p>
<p><code><br />
public void onDatabaseChangeNotification(DatabaseChangeEvent e)<br />
{<br />
/* QueryChangeDescription [] changes = e.getQueryChangeDescription();<br />
// Object ox = e.getTableChangeDescription();<br />
// QueryChangeDescription change = changes[0];<br />
*/<br />
TableChangeDescription [] tableChanges = e.getTableChangeDescription();<br />
TableChangeDescription tableChange = tableChanges[0];<br />
RowChangeDescription[] rowChanges = tableChange.getRowChangeDescription();<br />
RowChangeDescription rowChange = rowChanges[0];<br />
oracle.sql.ROWID rowid = rowChange.getRowid();<br />
demo.getUpdateForROWID( rowid );<br />
}<br />
}<br />
</code></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bmaier.wordpress.com/35/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bmaier.wordpress.com/35/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bmaier.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bmaier.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bmaier.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bmaier.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bmaier.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bmaier.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bmaier.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bmaier.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bmaier.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bmaier.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=35&subd=bmaier&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bmaier.wordpress.com/2008/06/18/automatischer-db-refresh-der-daten-auf-dem-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/de822858f9b6bb99e254d33aa8d63149?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bmaier</media:title>
		</media:content>
	</item>
		<item>
		<title>MD5 Password-Check per PL/SQL und Java</title>
		<link>http://bmaier.wordpress.com/2008/05/28/md5-password-check-per-plsql-und-java/</link>
		<comments>http://bmaier.wordpress.com/2008/05/28/md5-password-check-per-plsql-und-java/#comments</comments>
		<pubDate>Wed, 28 May 2008 09:14:11 +0000</pubDate>
		<dc:creator>bmaier</dc:creator>
				<category><![CDATA[DB]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[MD5]]></category>

		<guid isPermaLink="false">http://bmaier.wordpress.com/?p=34</guid>
		<description><![CDATA[Oracle bietet in der DB mehrere Möglichkeiten Werte in der DB zu verschlüsseln. Hat man jedoch den Anwendungsfall nur ein einzelnes Feld (z.B. Passwort) in der DB zu verschlüsseln und muss man sowohl per Java als auch per PL/SQL dazu eine LoginCheck-Funktion implementieren, kann dies mit folgender Routine einfach umgesetz werden.
Angepasste PL/SQL Funktion aus Oracle [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=34&subd=bmaier&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Oracle bietet in der DB mehrere Möglichkeiten Werte in der DB zu verschlüsseln. Hat man jedoch den Anwendungsfall nur ein einzelnes Feld (z.B. Passwort) in der DB zu verschlüsseln und muss man sowohl per Java als auch per PL/SQL dazu eine LoginCheck-Funktion implementieren, kann dies mit folgender Routine einfach umgesetz werden.</p>
<p>Angepasste PL/SQL Funktion aus <a href="https://metalink.oracle.com/">Oracle Metalink </a>zur Verschlüsselung:</p>
<p><code><br />
FUNCTION md5encode (CLEARTEXT IN VARCHAR2) RETURN VARCHAR2<br />
	IS<br />
		chk VARCHAR2(16);<br />
		hex VARCHAR2(32);<br />
		i INTEGER;<br />
		c INTEGER;<br />
		h INTEGER;<br />
	BEGIN<br />
		IF CLEARTEXT IS NULL THEN<br />
			RETURN '';<br />
		ELSE<br />
			chk := dbms_obfuscation_toolkit.md5(input_string=&gt;CLEARTEXT);<br />
			FOR i IN 1..16 LOOP<br />
				c := ASCII(SUBSTR(chk, i, 1));<br />
				h := TRUNC(c / 16);<br />
				IF h &gt;= 10 THEN<br />
					hex := hex || CHR(h + 55);<br />
				ELSE<br />
					hex := hex || CHR(h + 48);<br />
				END IF;<br />
				h := MOD(c, 16);<br />
				IF h &gt;= 10 THEN<br />
					hex := hex || CHR(h + 55);<br />
				ELSE<br />
					hex := hex || CHR(h + 48);<br />
				END IF;<br />
			END LOOP;<br />
			RETURN hex;<br />
		END IF;</p>
<p>	END;<br />
</code> </p>
<p>Dazu passende Java Verschlüsselung:<br />
<code><br />
 public String md5encode( String password ) throws Exception {<br />
        MessageDigest md5 = MessageDigest.getInstance( "MD5" ) ;<br />
        byte[] rawBytes = md5.digest( password.getBytes() ) ;</p>
<p>        String charIndex = "0123456789ABCDEF";<br />
        StringBuffer sb = new StringBuffer(rawBytes.length * 2);</p>
<p>        byte rawByte;<br />
        for (int i = 0; i&gt; 4) &amp; 0xF;<br />
            sb.append(charIndex.charAt(ix));<br />
            ix = rawByte &amp; 0xF;<br />
            sb.append(charIndex.charAt(ix));<br />
        }<br />
        return sb.toString();<br />
    }<br />
</code></p>
<p>Die Checkroutine verschlüsselt nun das Klartextpassword per <code>md5encode ()</code> und macht mit dem gespeicherten verschlüsselten Password einfachen einen String-Vergleich.</p>
<p>Java Psoudocode dazu:   </p>
<p>String myCurrentPassword = &#8222;hallo123&#8243;<br />
if(obfuscatedPasswordFromDBColumn.equals(md5encode(myCurrentPassword)) == true)<br />
  System.println(&#8222;Login OK&#8220;);<br />
else<br />
 System.println(&#8222;Login Fehlgeschlagen&#8220;);</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bmaier.wordpress.com/34/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bmaier.wordpress.com/34/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bmaier.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bmaier.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bmaier.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bmaier.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bmaier.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bmaier.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bmaier.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bmaier.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bmaier.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bmaier.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=34&subd=bmaier&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bmaier.wordpress.com/2008/05/28/md5-password-check-per-plsql-und-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/de822858f9b6bb99e254d33aa8d63149?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bmaier</media:title>
		</media:content>
	</item>
		<item>
		<title>Loginmodule mit OC4J 11g und JSF</title>
		<link>http://bmaier.wordpress.com/2008/05/16/loginmodule-mit-oc4j-11g-und-jsf/</link>
		<comments>http://bmaier.wordpress.com/2008/05/16/loginmodule-mit-oc4j-11g-und-jsf/#comments</comments>
		<pubDate>Fri, 16 May 2008 18:54:05 +0000</pubDate>
		<dc:creator>bmaier</dc:creator>
				<category><![CDATA[Nicht kategorisiert]]></category>

		<guid isPermaLink="false">http://bmaier.wordpress.com/?p=32</guid>
		<description><![CDATA[
Mit Oracle 11g ist es nun möglich über seine eigen geschriebene Loginseite ein J2EE Security-Context aufbauen. 
Es ist dabei nicht mehr notwendig ( aus Sicherheitsgründen jedoch empfohlen) den in der web.xml definierten Security-Context mit konfigurierter Loginseite zu verwenden.
Mit JSF kann beispielsweise innerhalb einer JSF-ManagedBean mit folgender Methode der J2EE SecurityContext des OC4J-Containers aufgebaut werden.  
 
LoginContext [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=32&subd=bmaier&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;">Mit Oracle 11g ist es nun möglich über seine eigen geschriebene Loginseite ein J2EE Security-Context aufbauen. </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;">Es ist dabei nicht mehr notwendig ( aus Sicherheitsgründen jedoch empfohlen) den in der web.xml definierten Security-Context mit konfigurierter Loginseite zu verwenden.</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;">Mit JSF kann beispielsweise innerhalb einer JSF-ManagedBean mit folgender Methode der J2EE SecurityContext des OC4J-Containers aufgebaut werden.<span>  </span></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;">LoginContext ctx = new LoginContext(&#8222;myContext&#8220;, subject, callback);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;">Die zur Ausführung kommende JAAS-LoginModule werden über die jps-config.xml Datei konfiguriert und über den Kontextname (hier im Beispiel &#8222;myContext&#8220;) referenziert.</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;">&lt;jpsContext name=&#8220;myContext&#8220;&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"><span>   </span>&lt;serviceInstanceRef ref=&#8220;myLoginmodule&#8220;/&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"><span> </span><span>  </span>&lt;serviceInstanceRef ref=&#8220;xds.loginmodule&#8220;/&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"><span>   </span>&lt;serviceInstanceRef ref=&#8220;SAML.loginmodule&#8220;/&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"><span>   </span>&lt;serviceInstanceRef ref=&#8220;idstore.loginmodule&#8220;/&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:&quot;">&lt;/jpsContext&gt;</span><span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;">Die hier referenzierten LoginModule (serviceInstanceRef) werden ebenfalls in der Datei jps-config.xml konfiguriert. </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span>Die Einbindung eines eigenen Loginmodules (JAAS-konform) und die gleichzeitige Ausführung der Standardmodule &#8211; beispielsweise das Setzen eines SAML-Tickets für WebService oder SSO &#8211; kann somit ebenfalls sehr einfach erfolgen.</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span><span style="font-family:Times New Roman;">&lt;</span></span><span style="font-family:&quot;">serviceInstance name=&#8220;de.bmaier.sample.security&#8220; provider=&#8220;jaas.login.provider&#8220;&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;">&lt;description&gt;My Sample LoginModule&lt;/description&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;">&lt;property name=&#8220;loginModuleClassName&#8220; value=&#8220;&lt;hier muss der Klassename mit Package-Angabe des eigenen LoginModules eingetragen werden &#8222;/&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;">&lt;property name=&#8220;jaas.login.controlFlag&#8220; value=&#8220;REQUIRED&#8220;/&gt; </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:&quot;">&lt;/serviceInstance&gt;</span><span><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;">Ein Beispiel findet sich im <a class="aligncenter" title="Oracle Formu" href="http://forums.oracle.com/forums/thread.jspa?messageID=2487163" target="_blank">Oracle-Forum</a> <span>   </span></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bmaier.wordpress.com/32/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bmaier.wordpress.com/32/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bmaier.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bmaier.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bmaier.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bmaier.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bmaier.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bmaier.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bmaier.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bmaier.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bmaier.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bmaier.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=32&subd=bmaier&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bmaier.wordpress.com/2008/05/16/loginmodule-mit-oc4j-11g-und-jsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/de822858f9b6bb99e254d33aa8d63149?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bmaier</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle BPEL Aufrauf aus BEA AquaLogic Service Bus</title>
		<link>http://bmaier.wordpress.com/2008/05/16/oracle-bpel-aufrauf-aus-bea-aqualogic-service-bus/</link>
		<comments>http://bmaier.wordpress.com/2008/05/16/oracle-bpel-aufrauf-aus-bea-aqualogic-service-bus/#comments</comments>
		<pubDate>Fri, 16 May 2008 09:06:48 +0000</pubDate>
		<dc:creator>bmaier</dc:creator>
				<category><![CDATA[Nicht kategorisiert]]></category>

		<guid isPermaLink="false">http://bmaier.wordpress.com/?p=31</guid>
		<description><![CDATA[Der Versuch BPEL Prozesse aus BEA AquaLogic aufzurufen wird mit folgender Meldung fehlschalgen:

An unexpected error occured accessing information about the WSDL of the service:
com.bea.wli.config.component.NotFoundException: Can not compute effective WSDL for : BusinessService SecureInvocation/BizServices/ORCL MyTestBPELProzess standalone

Das Problem kann einfach durch Anpassung der  generierte AquaLogic  WSDL behoben werden:


&#60;?xml version="1.0" encoding="UTF-8"?&#62;
&#60;definitions name="MyTestBPELProzess" targetNamespace="http://xmlns.oracle.com/TestBPELProzess/TestBPELProzess/MyTestBPELProzess"&#62; 
...
&#60;plnk:partnerLinkType name="MyTestBPELProzess"&#62;
&#60;plnk:role name="MyTestBPELProzessProvider"&#62;
&#60;plnk:portType name="client:MyTestBPELProzess"/&#62;
&#60;/plnk:role&#62;
&#60;/plnk:partnerLinkType&#62;


Ändern zu:

&#60;plnk:partnerLinkType name="MyTestBPELProzess" xmlns:clientABC="http://xmlns.oracle.com/TestBPELProzess/TestBPELProzess/MyTestBPELProzess"&#62; 
 
&#60;plnk:role [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=31&subd=bmaier&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Der Versuch BPEL Prozesse aus BEA AquaLogic aufzurufen wird mit folgender Meldung fehlschalgen:<br />
<code><br />
An unexpected error occured accessing information about the WSDL of the service:<br />
com.bea.wli.config.component.NotFoundException: Can not compute effective WSDL <span class="code-keyword">for</span> : BusinessService SecureInvocation/BizServices/ORCL MyTestBPELProzess standalone<br />
</code></p>
<p>Das Problem kann einfach durch Anpassung der  generierte AquaLogic  WSDL behoben werden:</p>
<div class="panelContent">
<p><code><br />
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;definitions name="MyTestBPELProzess" targetNamespace="<a href="http://xmlns.oracle.com/TestBPELProzess/TestBPELProzess/MyTestBPELProzess">http://xmlns.oracle.com/TestBPELProzess/TestBPELProzess/MyTestBPELProzess</a>"&gt; <br />
...<br />
&lt;plnk:partnerLinkType name="MyTestBPELProzess"&gt;<br />
&lt;plnk:role name="MyTestBPELProzessProvider"&gt;<br />
&lt;plnk:portType name="client:MyTestBPELProzess"/&gt;<br />
&lt;/plnk:role&gt;<br />
&lt;/plnk:partnerLinkType&gt;<br />
</code></p>
</div>
<p><strong>Ändern zu:<br />
</strong><code><br />
&lt;plnk:partnerLinkType name="MyTestBPELProzess" <strong>xmlns:clientABC="</strong><a href="http://xmlns.oracle.com/TestBPELProzess/TestBPELProzess/MyTestBPELProzess">http://xmlns.oracle.com/TestBPELProzess/TestBPELProzess/MyTestBPELProzess</a>"&gt; </code><br />
 </p>
<p>&lt;plnk:role name=&#8220;MyTestBPELProzessProvider&#8220;&gt;<br />
&lt;plnk:portType name=&#8220;<strong>clientABC</strong>:MyTestBPELProzess&#8220;/&gt;<br />
&lt;/plnk:role&gt;<br />
&lt;/plnk:partnerLinkType&gt;</p>
<p> </p>
<p> </p>
<p> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bmaier.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bmaier.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bmaier.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bmaier.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bmaier.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bmaier.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bmaier.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bmaier.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bmaier.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bmaier.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bmaier.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bmaier.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=31&subd=bmaier&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bmaier.wordpress.com/2008/05/16/oracle-bpel-aufrauf-aus-bea-aqualogic-service-bus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/de822858f9b6bb99e254d33aa8d63149?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bmaier</media:title>
		</media:content>
	</item>
		<item>
		<title>Automatischer Web-Seiten Refresh mit  ADFFaces 11g &#8211; Active Data Service</title>
		<link>http://bmaier.wordpress.com/2008/05/02/automatischer-web-seiten-refresh-mit-adffaces-11g-active-data-service/</link>
		<comments>http://bmaier.wordpress.com/2008/05/02/automatischer-web-seiten-refresh-mit-adffaces-11g-active-data-service/#comments</comments>
		<pubDate>Fri, 02 May 2008 21:07:20 +0000</pubDate>
		<dc:creator>bmaier</dc:creator>
				<category><![CDATA[ADF]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Nicht kategorisiert]]></category>
		<category><![CDATA[ADFFaces]]></category>
		<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://bmaier.wordpress.com/?p=30</guid>
		<description><![CDATA[Mit Active Data Service stellt das ADFFaces Framework (11g) nun einen Mechanismus  bereit auf Datenänderungen im Backend zur reagieren und einen automaitschen Seiten-Refresh durchzuführen. Trotz dass die Funktion auf AJAX basiert, ist es dabei nicht notwendig JavaScript zu implementieren.
Einzig muss der JSF-Datenlieferant einer ADFFaces-Komponente &#8211; hier im Beispiel af:table &#8211; das Interface ActiveDataModel implementieren.
public class MyTableData extends CollectionModel implements ActiveDataModel {
&#8230;.
Zu [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=30&subd=bmaier&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Mit <a class="alignright" href="http://www.oracle.com/technology/products/adf/adffaces/11/doc/multiproject/adf-richclient-api/apidocs/oracle/adf/view/rich/model/class-use/ActiveDataModel.ActiveDataPolicy.html" target="_blank">Active Data Service </a>stellt das ADFFaces Framework (11g) nun einen Mechanismus  bereit auf Datenänderungen im Backend zur reagieren und einen automaitschen Seiten-Refresh durchzuführen. Trotz dass die Funktion auf AJAX basiert, ist es dabei nicht notwendig JavaScript zu implementieren.</p>
<p>Einzig muss der JSF-Datenlieferant einer ADFFaces-Komponente &#8211; hier im Beispiel af:table &#8211; das Interface <a class="alignright" href="http://www.oracle.com/technology/products/adf/adffaces/11/doc/multiproject/adf-richclient-api/apidocs/oracle/adf/view/rich/model/ActiveDataModel.html" target="_blank">ActiveDataModel </a>implementieren.</p>
<p><code>public class MyTableData extends CollectionModel implements ActiveDataModel {</code></p>
<p>&#8230;.</p>
<p>Zu Beginn ruft der DataUpdateManager (ADF-Class)  die Methode  startActiveData() des ActiveDataModel und übergibt u.a. die ADF-Komponente, die auf Änderungs-Events horcht. </p>
<p>    <code>public synchronized void startActiveData(Collection&lt;Object&gt; rowKeys,<br />
int startChangeCount,<br />
ActiveDataListener listener) {</code></p>
<p>Zur Deregistrierung ruft ADF die Methode <code>stopActiveData(...) </code>auf. Im Normalfall wird man hier den Listener wieder aus seiner lokalen ListenerListe entferenen und bei Änderungen keinen Event mehr senden.</p>
<p>Informiert werden die ADFKomponenten über Events, wenn sich im Backend etwas geändert hat.<br />
Dazu werden im Backend meist asynchrone Mechanismen wie Queues (MDB, JMS, AQ &#8230;), Threads, oder typische asynchrone Protokoll wie Mails/Chat verwendet.</p>
<p>Eine Benachrichtigung wird gewöhnlich in der Callback-Routine (z.B. onMessage  bei MDB) wie folgt aussehen:       </p>
<p>  List&lt;ActiveDataEntry&gt; myList = new ArrayList();<br />
        myList.add(newEntry);<br />
        ActiveDataUpdateEvent event =<br />
            new MyActiveDataUpdateEvent(this, count, myList);<br />
        for (ActiveDataListener listener : registeredActiveDataListeners) {<br />
                registeredActiveDataListeners.dataChanged(event);<br />
        }</p>
<p> </p>
<p>Um ADF noch mittzuteilen welche Werte sich tatsächlich geändert haben und somit in dem UI refreshed werden sollen (AJAX), muss das Interface <code>ActiveDataEntry</code> für alle Rückgabewerte implementiert werden. Gewöhnlich wir man hier ein ActiveDataEntryWrapper implementieren und über Methoden  wie z.B. getChangeTyp() mitteilen, um welche Art von Änderungen es sich handelt. </p>
<p>In der JSF-Seite ist an der Komponente lediglich die datenliefernde MannagedBean mit dem Interface ActiveDataModel einzutragen:</p>
<div><code><br />
&lt;af:table value="#{<strong>MyTableDataBean</strong>}" var="row"&gt;<br />
&lt;af:column sortable="false" headerText="Message Body"<br />
align="start"&gt;<br />
&lt;af:outputText value="#{row.body}"/&gt;<br />
&lt;/af:column&gt;<br />
&lt;af:column sortable="false" headerText="Message Form"<br />
align="start"&gt;<br />
&lt;af:outputText value="#{row.form}"/&gt;<br />
&lt;/af:column&gt;<br />
&lt;/af:table&gt;</code></div>
<p><code> </p>
<p>Ein gutes Beispiel (<a class="aligncenter" href="http://www.oracle.com/technology/pub/files/jellema-googtalk-project.zip" target="_blank">Download</a>) dazu habe ich unter <a href="http://www.oracle.com/technology/pub/articles/jellema-googletalk.html">http://www.oracle.com/technology/pub/articles/jellema-googletalk.html</a> gefunden.</p>
<p> </p>
<p> </p>
<p></code></p>
<p> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bmaier.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bmaier.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bmaier.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bmaier.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bmaier.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bmaier.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bmaier.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bmaier.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bmaier.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bmaier.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bmaier.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bmaier.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bmaier.wordpress.com&blog=1931596&post=30&subd=bmaier&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bmaier.wordpress.com/2008/05/02/automatischer-web-seiten-refresh-mit-adffaces-11g-active-data-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/de822858f9b6bb99e254d33aa8d63149?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bmaier</media:title>
		</media:content>
	</item>
	</channel>
</rss>