<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-15279569</id><updated>2009-08-03T14:23:53.344-06:00</updated><title type="text">WebORB Blog</title><subtitle type="html">Blog to discuss Midnight Coders products, features, ideas and trends in development of Rich Internet Applications</subtitle><link rel="alternate" type="text/html" href="http://www.themidnightcoders.com/blog/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default?start-index=26&amp;max-results=25" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.themidnightcoders.com/blog/atom.xml" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>183</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/WeborbBlog" type="application/atom+xml" /><feedburner:emailServiceId>WeborbBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry><id>tag:blogger.com,1999:blog-15279569.post-5172142221425032546</id><published>2009-07-06T17:42:00.007-06:00</published><updated>2009-08-03T14:23:53.412-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AIR" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="Midnight Coders" /><category scheme="http://www.blogger.com/atom/ns#" term="RIA AppPuncher" /><category scheme="http://www.blogger.com/atom/ns#" term="Stress Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="RIA Analytics" /><category scheme="http://www.blogger.com/atom/ns#" term="WebORB" /><category scheme="http://www.blogger.com/atom/ns#" term="Load Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Flex" /><title type="text">New WEBINAR SERIES for July and August</title><content type="html">We've got all new topics for July and August, so be sure to check out our &lt;span style="font-weight: bold;"&gt;Midnight Coders Monthly Newsletter&lt;/span&gt; (will be out later this week) for information on this series and more including new Tips and Tricks for connecting AIR clients with .NET services.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;July Webinar Schedule&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;July 13th - 3pm(CST)&lt;br /&gt;Real-Time Messaging and Streaming with Flex and .NET&lt;br /&gt;To Register:  &lt;a href="http://bit.ly/3kyYC"&gt;http://bit.ly/3kyYC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;July 20th - 3pm (CST)&lt;br /&gt;Introduction to Stress Testing of Flex Applications&lt;br /&gt;To Register:  &lt;a href="http://bit.ly/zVmjm"&gt;http://bit.ly/zVmjm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;July 27th - 3pm (CST)&lt;br /&gt;Integrating AIR and .NET&lt;br /&gt;To Register:  &lt;a href="http://bit.ly/t4cs0"&gt;http://bit.ly/t4cs0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;August Webinar Schedule&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;August 3rd - 3pm (CST)&lt;br /&gt;Publish/Subscribe with Flex and Java&lt;br /&gt;To Register:  &lt;a href="http://bit.ly/4c0mrc"&gt;http://bit.ly/4c0mrc&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bit.ly/y9uor"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-5172142221425032546?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=QFc9rbSseBI:VVtSoYlfoZ0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=QFc9rbSseBI:VVtSoYlfoZ0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=QFc9rbSseBI:VVtSoYlfoZ0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=QFc9rbSseBI:VVtSoYlfoZ0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/QFc9rbSseBI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/5172142221425032546/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=5172142221425032546" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/5172142221425032546" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/5172142221425032546" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/QFc9rbSseBI/new-webinar-series-for-july-and-august.html" title="New WEBINAR SERIES for July and August" /><author><name>Kathleen Erickson</name><uri>http://www.blogger.com/profile/01856254748417896195</uri><email>kathleen@themidnightcoders.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="09564843725556911293" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/07/new-webinar-series-for-july-and-august.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-8364986697842753861</id><published>2009-06-25T11:51:00.002-06:00</published><updated>2009-06-25T12:59:33.732-06:00</updated><title type="text">WebORB examples are now part of Tour de Flex!</title><content type="html">&lt;a href="http://www.adobe.com/devnet/flex/tourdeflex/"&gt;Tour de Flex&lt;/a&gt; is an awesome application showcasing a lot of great Flex examples. Tour de Flex is available both as a browser-based application and as an AIR installation. We were offered to add a few WebORB examples to the collection and now you can see WebORB for .NET and WebORB for PHP in action directly from Tour de Flex. (the examples are available under the 'Flex Data Access' node). I would like to thank Adobe and especially &lt;a href="http://gregsramblings.com/"&gt;Greg Wilson&lt;/a&gt; for all his help. Thank you, Greg, it would be impossible without you.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://www.adobe.com/devnet/flex/tourdeflex/images/tdfx_logo_white.jpg" style="margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 330px; height: 87px;" border="0" alt="" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-8364986697842753861?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=7SfGFAn3PYU:TyjNuG7kHoY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=7SfGFAn3PYU:TyjNuG7kHoY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=7SfGFAn3PYU:TyjNuG7kHoY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=7SfGFAn3PYU:TyjNuG7kHoY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/7SfGFAn3PYU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/8364986697842753861/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=8364986697842753861" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/8364986697842753861" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/8364986697842753861" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/7SfGFAn3PYU/weborb-examples-are-now-part-of-tour-de.html" title="WebORB examples are now part of Tour de Flex!" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/06/weborb-examples-are-now-part-of-tour-de.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-1325423149622607744</id><published>2009-06-09T21:13:00.002-06:00</published><updated>2009-06-09T21:17:45.727-06:00</updated><title type="text">Introduction to WebORB for PHP (webinar recording)</title><content type="html">We conducted an online webinar yesterday to provide an overview of WebORB for PHP. The webinar was recorded and now the recording is available online. You can access it at the URL below. I highly recommend watching the video as it reviews some of the key configuration elements as well as core product features.&lt;div&gt;&lt;a href="http://www.themidnightcoders.com/products/weborb-for-php/developer-den/screencasts/weborbforphpintroduction.html"&gt;&lt;br /&gt;&lt;img src="http://www.themidnightcoders.com/blog/phpwebinar.jpg" /&gt;&lt;br /&gt;Introduction to WebORB for PHP&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-1325423149622607744?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=C4aX_qUJRaU:SGUrmtfhq9M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=C4aX_qUJRaU:SGUrmtfhq9M:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=C4aX_qUJRaU:SGUrmtfhq9M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=C4aX_qUJRaU:SGUrmtfhq9M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/C4aX_qUJRaU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/1325423149622607744/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=1325423149622607744" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/1325423149622607744" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/1325423149622607744" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/C4aX_qUJRaU/introduction-to-weborb-for-php-webinar.html" title="Introduction to WebORB for PHP (webinar recording)" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/06/introduction-to-weborb-for-php-webinar.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-6878156608067594525</id><published>2009-06-09T19:58:00.002-06:00</published><updated>2009-06-09T20:52:09.250-06:00</updated><title type="text">WebORB for PHP v3.6 is released</title><content type="html">We released a new version of WebORB for PHP today. The release introduces several new features. A complete list is below:&lt;div&gt;&lt;ul&gt;&lt;li&gt;Feature: &lt;b&gt;Support for AJAX clients&lt;/b&gt;. WebORB for PHP includes a JavaScript library that provides very elegant and easy-to-use APIs to access PHP services from JavaScript.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Feature: &lt;b&gt;Support for SOAP Web Services&lt;/b&gt;. All supported client types (Flash, Flex, AJAX and Silverlight) can now invoke web services via WebORB. The product functions as a proxy between a rich client and the target web service.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Feature: &lt;b&gt;Drupal integration.&lt;/b&gt; WebORB for PHP includes a Drupal module enabling integration between Drupal and WebORB. Once integrated, WebORB enables all supported client types to invoke Drupal services.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Improvement: &lt;b&gt;Performance enhancements&lt;/b&gt;. There's a major improvement in performance. WebORB 3.6 has been optimized for speed and should deliver 2x better performance than the previous releases.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Bug fix: Fixed polling support on MacOSX&lt;/li&gt;&lt;li&gt;Bug fix: Fixed problems with UTF8/non-ascii character encoding. &lt;/li&gt;&lt;/ul&gt;&lt;div&gt;You can download the release from the &lt;a href="http://www.themidnightcoders.com/products/weborb-for-php/overview.html"&gt;company website&lt;/a&gt;. &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-6878156608067594525?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=Nwv6kyBHz-g:UV2okYrzRBM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=Nwv6kyBHz-g:UV2okYrzRBM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=Nwv6kyBHz-g:UV2okYrzRBM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=Nwv6kyBHz-g:UV2okYrzRBM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/Nwv6kyBHz-g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/6878156608067594525/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=6878156608067594525" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/6878156608067594525" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/6878156608067594525" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/Nwv6kyBHz-g/weborb-for-php-v36-is-released.html" title="WebORB for PHP v3.6 is released" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/06/weborb-for-php-v36-is-released.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-3392457408394831520</id><published>2009-05-25T23:13:00.002-06:00</published><updated>2009-05-25T23:28:33.220-06:00</updated><title type="text">From UI Mockups to Flex in seconds</title><content type="html">If you are not familiar with Balsamiq Mockups, you should definitely check it out: &lt;a href="http://www.balsamiq.com/products/mockups"&gt;http://www.balsamiq.com/&lt;/a&gt;. It is a web-based AND desktop application where you can create mockups and wireframes to model the user interface for your applications. We worked together with Balsamiq to create a feature which allows you to generate a Flex application based on a mockup. The generated application consists of the client-side MXML/ActionScript as well as server-side code. The client code and MXML renders the same components you used in a mockup, while the server sode provides all the data from the controls in the mockup to the corresponding controls in the Flex application. The integration between Flex and the backend is done with WebORB.  The generated code includes support for Java, .NET and PHP. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can read more about the integration in the Balsamiq blog post pre-announcing the integration:&lt;div&gt;&lt;a href="http://www.balsamiq.com/blog/2009/05/25/newfont/"&gt;http://www.balsamiq.com/blog/2009/05/25/newfont/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There's also a page on our site dedicated to the project:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.themidnightcoders.com/develop-ria/balsamiqapp"&gt;http://www.themidnightcoders.com/develop-ria/balsamiqapp&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am very excited about this integration as it makes it super simple to go from a mockup to a fully functional Flex-remoting application!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-3392457408394831520?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=h-MwgqRqUiY:j16ypDla0bM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=h-MwgqRqUiY:j16ypDla0bM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=h-MwgqRqUiY:j16ypDla0bM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=h-MwgqRqUiY:j16ypDla0bM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/h-MwgqRqUiY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/3392457408394831520/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=3392457408394831520" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/3392457408394831520" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/3392457408394831520" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/h-MwgqRqUiY/from-ui-mockups-to-flex-in-seconds.html" title="From UI Mockups to Flex in seconds" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/05/from-ui-mockups-to-flex-in-seconds.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-5334434074642081893</id><published>2009-05-13T12:55:00.003-06:00</published><updated>2009-05-19T04:56:04.114-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PDF" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Messaging" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="RIA" /><category scheme="http://www.blogger.com/atom/ns#" term="WebORB" /><category scheme="http://www.blogger.com/atom/ns#" term="SDK" /><title type="text">Midnight Coders Launches Free Webinar Series</title><content type="html">&lt;div class="itemtext"&gt;      &lt;div class="snap_preview"&gt;&lt;p&gt;This is good news for developers around the world who are interested in getting started with our products and services. We will launch our first of many free webinar events on &lt;span style="font-weight: bold;"&gt;May 18th from 3-4pm (Central). This event is an Introduction to WebORB Messaging SDK. &lt;/span&gt;Attendees will learn:&lt;/p&gt; &lt;p&gt;* How to install Messaging SDK&lt;br /&gt;* How to use publish/subscribe API in Flex applications&lt;br /&gt;* How to use publish/subscribe API in AIR applications&lt;br /&gt;* How to use publish/subscribe API in .NET applications&lt;br /&gt;* How to integrate Flex and .NET using Messaging SDK&lt;br /&gt;* About the Messaging SDK features and benefits &lt;/p&gt; &lt;p&gt;To register: &lt;a href="https://www2.gotomeeting.com/register/907481963"&gt;https://www2.gotomeeting.com/register/907481963&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Future webinars include:&lt;/p&gt; &lt;p&gt;&lt;span style="font-weight: bold;"&gt;June 1st – Introduction to WebORB PDF Generator&lt;/span&gt;&lt;br /&gt;To Register:  &lt;a href="https://www2.gotomeeting.com/register/712611978"&gt;https://www2.gotomeeting.com/register/712611978&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-weight: bold;"&gt;June 8th – Getting started with WebORB for PHP&lt;/span&gt;&lt;br /&gt;To Register:  &lt;a href="https://www2.gotomeeting.com/register/223302378"&gt;https://www2.gotomeeting.com/register/223302378&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-weight: bold;"&gt;June 29th – Getting started with WebORB for .NET&lt;/span&gt;&lt;br /&gt;To Register: &lt;a href="https://www2.gotomeeting.com/register/855841554"&gt;https://www2.gotomeeting.com/register/855841554&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;           &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-5334434074642081893?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=qGq-Z3UNSug:R6FEoTovrkM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=qGq-Z3UNSug:R6FEoTovrkM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=qGq-Z3UNSug:R6FEoTovrkM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=qGq-Z3UNSug:R6FEoTovrkM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/qGq-Z3UNSug" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/5334434074642081893/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=5334434074642081893" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/5334434074642081893" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/5334434074642081893" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/qGq-Z3UNSug/midnight-coders-launches-free-webinar.html" title="Midnight Coders Launches Free Webinar Series" /><author><name>Kathleen Erickson</name><uri>http://www.blogger.com/profile/01856254748417896195</uri><email>kathleen@themidnightcoders.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="09564843725556911293" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/05/midnight-coders-launches-free-webinar.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-8910030771100891583</id><published>2009-04-17T15:44:00.002-06:00</published><updated>2009-04-17T16:00:32.121-06:00</updated><title type="text">Running WebORB for Java in Google App Engine</title><content type="html">Google has recently added support for Java applications to the &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine,&lt;/a&gt; which is their cloud environment for running web-based applications. We decided to try out WebORB for Java and ran into a few problems. Most of the problems were related to the usage of the classes which are not on the approved &lt;a href="http://code.google.com/appengine/docs/java/jrewhitelist.html"&gt;JRE Class White List&lt;/a&gt;. There is also &lt;a href="http://code.google.com/p/googleappengine/issues/detail?id=1339"&gt;a bug&lt;/a&gt; related to their Servlet API specification that prevented normal execution of WebORB. However, we found a way to work around all the major issues and I am happy to report that WebORB for Java now can be deployed into Google App Engine to provide connectivity for Flex, Flash, Silverlight and AJAX clients with the deployed Java objects. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We also have a sample WebORB deployment in our AppEngine account which you can see at the following URL (check out the Examples tab as well as the Service Browser under management):&lt;/div&gt;&lt;div&gt;&lt;a href="http://weborbdemo.appspot.com/"&gt;http://weborbdemo.appspot.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We're working on a new build of the product with all the fixes we have made. Until then, there is a patch &lt;a href="http://www.themidnightcoders.com/fileadmin/downloads/weborb4appengine.zip"&gt;build of WebORB for Google App Engine&lt;/a&gt; available for download.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The ZIP file contains both management console and examples. However, if you do not care about that, then use just the contents of the WEB-INF folder and extract the files into the WEB-INF directory of your Google App Engine application.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We also plan to make a few changes in the product to support Google's persistence mechanism. Once it is done, then all the features that require File IO (code generation, data management, etc) will also be supported.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Happy coding!&lt;/div&gt;&lt;br /&gt;&lt;img src="http://code.google.com/appengine/images/appengine-noborder-120x30.gif" alt="Powered by Google App Engine" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-8910030771100891583?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=J1vpd6Vve4k:G8k1udxaMFM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=J1vpd6Vve4k:G8k1udxaMFM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=J1vpd6Vve4k:G8k1udxaMFM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=J1vpd6Vve4k:G8k1udxaMFM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/J1vpd6Vve4k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/8910030771100891583/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=8910030771100891583" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/8910030771100891583" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/8910030771100891583" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/J1vpd6Vve4k/running-weborb-for-java-in-google-app.html" title="Running WebORB for Java in Google App Engine" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/04/running-weborb-for-java-in-google-app.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-1882566565158772497</id><published>2009-04-14T11:13:00.001-06:00</published><updated>2009-04-14T11:15:24.835-06:00</updated><title type="text">Free WebORB webinar tonight</title><content type="html">I will be doing an online presentation for the &lt;a href="http://cenpennaug.blogspot.com/"&gt;Pennsylvania Flex User Group&lt;/a&gt; tonight at 6pm Eastern time. I will be talking about Flex client/server integration focusing on WebORB, AppPuncher and PDF Generator. Since it is an online webinar, anyone can attend and you're cordially invited. You can register for the webinar at the following address:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www2.gotomeeting.com/register/603107563" style="text-decoration: none; color: rgb(145, 54, 173); "&gt;https://www2.gotomeeting.com/register/603107563&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See you tonight!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-1882566565158772497?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=0uHVk6cx7Ow:yXg6QDQo8z0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=0uHVk6cx7Ow:yXg6QDQo8z0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=0uHVk6cx7Ow:yXg6QDQo8z0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=0uHVk6cx7Ow:yXg6QDQo8z0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/0uHVk6cx7Ow" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/1882566565158772497/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=1882566565158772497" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/1882566565158772497" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/1882566565158772497" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/0uHVk6cx7Ow/free-weborb-webinar-tonight.html" title="Free WebORB webinar tonight" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/04/free-weborb-webinar-tonight.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-6557589345860278584</id><published>2009-02-24T00:17:00.002-06:00</published><updated>2009-02-24T00:26:16.463-06:00</updated><title type="text">Deploying WebORB into a Java container</title><content type="html">WebORB for Java can be integrated into any Java container which implements the Servlet API 2.3 and above. We just updated the documentation with the steps to deploy WebORB into most popular containers and the information has been posted to the user guide on the website. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you are not familiar with the process, WebORB can be deployed either as a self-contained web application in the form of a WAR file created by the installer. Alternatively, the product can be integrated into an existing web application. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;See the "Deployment" section of the &lt;a href="http://www.themidnightcoders.com/fileadmin/docs/java/guide/index.htm"&gt;WebORB user guide&lt;/a&gt; at the following URL for more details:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.themidnightcoders.com/fileadmin/docs/java/guide/index.htm?t=30"&gt;http://www.themidnightcoders.com/fileadmin/docs/java/guide/index.htm?t=30&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Last but not least, we have added Sun's &lt;a href="https://glassfish.dev.java.net/"&gt;GlassFish Server&lt;/a&gt; to the list of officially supported containers. The product has been tested on both version 2.1 as well as v3 Prelude.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-6557589345860278584?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=c6evkAUzTqI:wTefCd8J6IY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=c6evkAUzTqI:wTefCd8J6IY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=c6evkAUzTqI:wTefCd8J6IY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=c6evkAUzTqI:wTefCd8J6IY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/c6evkAUzTqI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/6557589345860278584/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=6557589345860278584" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/6557589345860278584" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/6557589345860278584" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/c6evkAUzTqI/deploying-weborb-into-java-container.html" title="Deploying WebORB into a Java container" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/02/deploying-weborb-into-java-container.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-3831192532022745246</id><published>2009-02-11T01:53:00.002-06:00</published><updated>2009-02-11T01:59:56.101-06:00</updated><title type="text">Java method invocation from Silverlight</title><content type="html">WebORB for Java, .NET and PHP include a very powerful remoting Silverlight component. The component implements a binary protocol (AMF) for handling remoting invocations of server-side components from Silverlight. &lt;div&gt;There is a new article on our site that describes an example of integrating Silverlight with Java. The example demonstrates an invocation of a POJO, however, the same approach can be used to invoke EJBs, Spring Beans or any other custom service type hosted in WebORB for Java. You can access the article at the link below:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.themidnightcoders.com/products/weborb-for-java/developer-den/articles/integrating-silverlight-with-java.html"&gt;Java object invocation from Silverlight&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In my next blog post, I plan to describe our Silverlight to .NET integration. It may not be obvious, but our integration approach offers a variety of benefits over the standard SOAP/REST-based integration built into Silverlight.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-3831192532022745246?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=dL4xaG4HFJc:lNPy_StoAhE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=dL4xaG4HFJc:lNPy_StoAhE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=dL4xaG4HFJc:lNPy_StoAhE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=dL4xaG4HFJc:lNPy_StoAhE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/dL4xaG4HFJc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/3831192532022745246/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=3831192532022745246" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/3831192532022745246" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/3831192532022745246" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/dL4xaG4HFJc/java-method-invocation-from-silverlight.html" title="Java method invocation from Silverlight" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/02/java-method-invocation-from-silverlight.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-5057200454638076329</id><published>2009-02-09T21:04:00.005-06:00</published><updated>2009-02-09T21:12:25.650-06:00</updated><title type="text">WebORB for Java v. 3.0.2 is released</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.themidnightcoders.com/fileadmin/images/products/java/java_logo_82x114.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 82px; height: 114px;" src="http://www.themidnightcoders.com/fileadmin/images/products/java/java_logo_82x114.jpg" alt="" border="0" /&gt;&lt;/a&gt;It is a stepping stone, but a very important one.. There is a new release of WebORB for Java available for download - version 3.0.2. We focused primarily on bug fixes and managed to get a few features in there as well. Below is a brief list of the changes:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Problems with installer on Mac OSX have been fixed&lt;/li&gt;&lt;li&gt;Fixed bugs in WebORB Data Management synchronization&lt;/li&gt;&lt;li&gt;Fixed WebORB deployment for WebSphere versions 6 and 7&lt;/li&gt;&lt;li&gt;Fixed WebORB deployment for Tomcat 6&lt;/li&gt;&lt;li&gt;Corrected Messaging API documentation for publishing messages&lt;/li&gt;&lt;li&gt;Added polling support for WDMF synchronization when RTMP connection fails&lt;/li&gt;&lt;li&gt;Added support for Enterprise Edition licensing and activation&lt;/li&gt;&lt;/ul&gt;In the coming weeks and months I will be focusing more on improving the documentation and writing a few articles to make it easier to get started with the product and use its more advanced features.&lt;br /&gt;&lt;br /&gt;Also, what do you think of the new product logo? :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-5057200454638076329?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=d0WejA47Mqs:QZdNwKKdxN4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=d0WejA47Mqs:QZdNwKKdxN4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=d0WejA47Mqs:QZdNwKKdxN4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=d0WejA47Mqs:QZdNwKKdxN4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/d0WejA47Mqs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/5057200454638076329/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=5057200454638076329" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/5057200454638076329" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/5057200454638076329" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/d0WejA47Mqs/weborb-for-java-v-302-is-released.html" title="WebORB for Java v. 3.0.2 is released" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/02/weborb-for-java-v-302-is-released.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-5391930984756050164</id><published>2009-01-19T15:50:00.002-06:00</published><updated>2009-01-19T16:06:04.217-06:00</updated><title type="text">RIA AppPuncher 1.0.1 is available</title><content type="html">Our new client/server debugging utility for RIA applications - RIA AppPuncher - has been a great success. A lot of people have downloaded the application and provided fantastic feedback.  We have already started working on the requested features. Some of the users have experienced startup errors that prevented AppPuncher from working properly. The most common errors are shown below:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For Windows users:&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Could not find the man class: com.tmc.rtb.ui.Application. Program will exit.&lt;/li&gt;&lt;li&gt;Exception in thread "main" java.lang.UnsatisfiedLinkError&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;For Mac OSX users:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Existing application in any way other than File &gt; Exit does not restore proxy settings. &lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Today we released a patch build of RIA AppPuncher - version 1.0.1. The build fixes all the errors listed above. It also includes the following features and bug fixes:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Added support for AMF0&lt;/li&gt;&lt;li&gt;All views can now render Gzip compressed content&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Fetched XML content is now rendered in a structured view&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Methods re-invoked from AppPuncher UI now use different icon&lt;/li&gt;&lt;li&gt;Uninstaller now deletes all the files added by the installer&lt;/li&gt;&lt;li&gt;Selecting a session in the treeview select the corresponding session tab &lt;/li&gt;&lt;li&gt;When a session is cleared contents of the request/response panels is cleared too&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Please download the new release and make sure to let us know how you like it and what we could do better or differently.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-5391930984756050164?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=Y-hJHsY2Sek:-HeXf15uaBI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=Y-hJHsY2Sek:-HeXf15uaBI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=Y-hJHsY2Sek:-HeXf15uaBI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=Y-hJHsY2Sek:-HeXf15uaBI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/Y-hJHsY2Sek" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/5391930984756050164/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=5391930984756050164" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/5391930984756050164" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/5391930984756050164" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/Y-hJHsY2Sek/ria-apppuncher-101-is-available.html" title="RIA AppPuncher 1.0.1 is available" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/01/ria-apppuncher-101-is-available.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-2678303303690669393</id><published>2009-01-15T09:20:00.002-06:00</published><updated>2009-01-15T09:25:37.049-06:00</updated><title type="text">Diagnosing AppPuncher start-up errors</title><content type="html">&lt;span&gt;&lt;span&gt;If you are experiencing an error launching AppPuncher on Windows, we would like to ask you to help us diagnosing it.  There are two errors some users have reported:&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Could not find the man class: com.tmc.rtb.ui.Application. Program will exit.&lt;/li&gt;&lt;li&gt;Exception in thread "main" java.lang.UnsatisfiedLinkError&lt;/li&gt;&lt;/ul&gt;Please do the following to help us with troubleshooting:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Open a command prompt window and change to /Program Files/AppPuncher &lt;/li&gt;&lt;li&gt;Run the following command: java -jar lib/AppPuncher.jar &lt;/li&gt;&lt;li&gt;Send us the output you get. Please use puncherbeta@themidnightcoders.com&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Thank you for your help!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap; "&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-2678303303690669393?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=WZkqic0Ohhc:PTFdc-nz5z0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=WZkqic0Ohhc:PTFdc-nz5z0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=WZkqic0Ohhc:PTFdc-nz5z0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=WZkqic0Ohhc:PTFdc-nz5z0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/WZkqic0Ohhc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/2678303303690669393/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=2678303303690669393" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/2678303303690669393" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/2678303303690669393" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/WZkqic0Ohhc/diagnosing-apppuncher-start-up-errors.html" title="Diagnosing AppPuncher start-up errors" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/01/diagnosing-apppuncher-start-up-errors.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-2164717846527894547</id><published>2009-01-08T18:00:00.002-06:00</published><updated>2009-01-08T20:30:58.712-06:00</updated><title type="text">Generating PDF documents from Flex</title><content type="html">A few weeks ago we released a fantastic addition to our family of products - WebORB PDF Generator. I have not had a chance to describe the product in this blog, so consider this an introduction. This post will focus primarily on Flex, though the product supports all major rich client types including Silverlight, Flash and AJAX. &lt;div&gt;Creating a PDF document from Flex using WebORB PDF Generator could not be simpler. The product generates documents using templates. In case of Flex, a template can be created using Flex Builder. Simply create an MXML component (you can use Canvas as the parent class). Lay out basic components to create a template. To generate a PDF document document from the template, create an instance of the MXML component and call the PDF Generator service using our API. Here's an example of a very basic template:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;code&gt;&lt;div&gt;&amp;lt;mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300"&amp;gt;&lt;/div&gt;&lt;div&gt;  &amp;lt;mx:Label text="DataGird with server-side data:" x="10" y="10"/&amp;gt;&lt;/div&gt;&lt;div&gt;  &amp;lt;mx:DataGrid id="customersGrid" left="10" right="10" fontSize="10"&lt;/div&gt;&lt;div&gt;      bottom="10" top="30"&lt;/div&gt;&lt;div&gt;      dataProvider="{'method:Weborb.Examples.DataBinding.getCustomers()'}" &amp;gt; &lt;/div&gt;&lt;div&gt;      &amp;lt;mx:columns&amp;gt;&lt;/div&gt;&lt;div&gt;          &amp;lt;mx:DataGridColumn dataField="COMPANYNAME" headerText="Company" /&amp;gt;&lt;/div&gt;&lt;div&gt;          &amp;lt;mx:DataGridColumn dataField="CONTACTNAME" headerText="Name"/&amp;gt;&lt;/div&gt;&lt;div&gt;          &amp;lt;mx:DataGridColumn dataField="PHONE" headerText="Phone Number" /&amp;gt;&lt;/div&gt;&lt;div&gt;      &amp;lt;/mx:columns&amp;gt;&lt;/div&gt;&lt;div&gt;  &amp;lt;/mx:DataGrid&amp;gt;    &lt;/div&gt;&lt;div&gt;&amp;lt;/mx:Canvas&amp;gt;&lt;/div&gt;&lt;/code&gt;&lt;/div&gt;&lt;code&gt;&lt;/code&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The template uses the DataGrid component to render a table in PDF document created from it. Notice the dataProvider attribute of the DataGrid component:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;code&gt;dataProvider="{'method:Weborb.Examples.DataBinding.getCustomers()'}"&lt;br /&gt;&lt;/code&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The dataProvider references a method which will be invoked by the PDF Generator service and the returned data will go into the PDF document.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Suppose the MXML component's name is MyTemplate.mxml. To create a PDF document using that template from Flex, use the following code:&lt;/div&gt;&lt;br /&gt;&lt;code&gt;&lt;div&gt;var pdfGenerator:PDFGenerator = new PDFGenerator( this );&lt;/div&gt;&lt;div&gt;var template:MyTemplate = new MyTemplate();&lt;/div&gt;&lt;div&gt;pdfGenerator.generatePDF( template );&lt;/div&gt;&lt;/code&gt;&lt;br /&gt;&lt;div&gt;PDF Generator creates a document and returns the document URL to the Flex client. The default implementation opens the URL in a new window. This behavior can be overridden with a responder object:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;code&gt;var myResponder:PDFResponder = new PDFResponder( gotURL, gotError );&lt;/code&gt;&lt;div&gt;&lt;code&gt;pdfGenerator.generatePDF( template, myResponder );&lt;br /&gt;&lt;/code&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;See the &lt;a href="http://www.themidnightcoders.com/blog/samplepdf.pdf"&gt;PDF document created for the template&lt;/a&gt; shown above.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can use the following Flex components to create templates:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;DataGrid - will be used to display tabular data&lt;/li&gt;&lt;li&gt;List - displays linear (single column) lists&lt;/li&gt;&lt;li&gt;HRule, VRule - display vertical or horizontal lines (you can select widht, height, color, etc)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;TextInput, TextArea - can be used to create PDF Forms in your PDF document&lt;/li&gt;&lt;li&gt;Image - will render a bitmap image in the document&lt;/li&gt;&lt;li&gt;any charting component - will render chart in the PDF&lt;/li&gt;&lt;li&gt;our own FlashContent component - will render Flash content in the resulting PDF document&lt;/li&gt;&lt;li&gt;TabNavigator or Accordion - to create PDF documents with different layouts for each page&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;We have put together an &lt;a href="http://www.themidnightcoders.com/weborbexamples/examples/flex/pdfgeneration/ComponentExamples/index.htm"&gt;example demonstrating all the supported Flex components&lt;/a&gt; in various sample templates.&lt;/div&gt;&lt;div&gt;See full &lt;a href="http://www.themidnightcoders.com/fileadmin/docs/pdfgen/dotnet/index.htm?t=5000"&gt;PDF Generaotr documentation for Flex&lt;/a&gt; clients. Product page is available at the following URL:&lt;a href="http://www.themidnightcoders.com/products/pdf-generator/overview.html" style=""&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); text-decoration: none;"&gt; &lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.themidnightcoders.com/products/pdf-generator/overview.html"&gt;http://www.themidnightcoders.com/products/pdf-generator/overview.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-2164717846527894547?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=Rfn-DFNZblw:w_d8tBeprfE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=Rfn-DFNZblw:w_d8tBeprfE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=Rfn-DFNZblw:w_d8tBeprfE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=Rfn-DFNZblw:w_d8tBeprfE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/Rfn-DFNZblw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/2164717846527894547/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=2164717846527894547" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/2164717846527894547" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/2164717846527894547" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/Rfn-DFNZblw/generating-pdf-documents-from-flex.html" title="Generating PDF documents from Flex" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/01/generating-pdf-documents-from-flex.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-937182343040549264</id><published>2009-01-08T14:38:00.003-06:00</published><updated>2009-01-08T14:43:09.889-06:00</updated><title type="text">WebORB for Java v.3.0.1</title><content type="html">&lt;div&gt;We just released a new maintenance build of WebORB for Java with the following bug fixes:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Fixed a problem with packaging of the WebORB WAR file which prevented deployments into WebSphere and other Java EE servers&lt;/li&gt;&lt;li&gt;Fixed a problem in Silverlight examples (previous version was using the Beta 2 compilation of Silverlight client)&lt;/li&gt;&lt;li&gt;Fixed a probem in the WDMF XSLT templates described in this thread.&lt;/li&gt;&lt;li&gt;Fixed a problem in request parsing when AS3 Flash client sends an invocation with more than one argument using the NetConnection class&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;The new release is available for immediate download.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-937182343040549264?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=ZloJW7X2n0g:KJ4RekVGEMk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=ZloJW7X2n0g:KJ4RekVGEMk:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=ZloJW7X2n0g:KJ4RekVGEMk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=ZloJW7X2n0g:KJ4RekVGEMk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/ZloJW7X2n0g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/937182343040549264/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=937182343040549264" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/937182343040549264" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/937182343040549264" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/ZloJW7X2n0g/weborb-for-java-v301.html" title="WebORB for Java v.3.0.1" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/01/weborb-for-java-v301.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-757935599129103870</id><published>2009-01-06T08:24:00.009-06:00</published><updated>2009-01-06T11:47:47.441-06:00</updated><title type="text">AppPuncher - Client/server debugging system for Flex, Flash and Silverlight</title><content type="html">Whenever you develop an RIA using Flex, Flash, AJAX or Silverlight, odds are you would need to inspect client/server traffic, understand what goes on the wire and diagnose communication problems. Additionally, any online application must be thoroughly tested to understand its concurrency limits and server capacity. We have received a lot of requests from our customers and the users of WebORB to help out with either load testing of their applications or diagnose client/server communication issues. We engaged in several consulting projects to assist customers with QA and that's how the idea for AppPuncher was born. Today I am happy to announce that AppPuncher Debugger Edition is available for download.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what is AppPuncher? In short, it is a QA system for RIAs. It can help you debug client/server traffic. It can do stress testing and regression testing. It can record and replay all the requests a client is issuing and report any discrepancies in server responses. The product is available in several editions. (The Debugger Edition is available now). See the &lt;a href="http://www.themidnightcoders.com/products/ria-apppuncher/product-editions.html"&gt;AppPuncher feature comparison chart&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What can the Debugger Edition do?&lt;/div&gt;&lt;div&gt;The product will run next to your RIA browser-based client and register itself as a proxy server. Internet Explorer and Google Chrome should automatically recognize the proxy and will route all the client requests through AppPuncher.  Firefox requires &lt;a href="http://www.themidnightcoders.com/weborbdownloads/AppPuncher.xpi"&gt;AppPuncher Firefox extension&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When you start AppPuncher, you can choose the type of test you would like to run (it is limited to the 'Debugging Session' for now, but soon you will be able to use the product to run all supported types of tests). The start screen looks as shown below:&lt;/div&gt;&lt;a href="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_overview.jpg"&gt;&lt;img width="440" height="306" src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_overview.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;AppPuncher also starts one debugging session by default:&lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_debuggingsession.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Structured or Sequencial View Types&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Once the browser makes any request, AppPuncher will visualize it in two formats: &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Structure View&lt;/span&gt; - displays all requests in a tree hierarchy ordered by the site they are sent to. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Sequence View&lt;/span&gt; - all requests are shown in the same order they are sent.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Structure view:&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_structureview.jpg" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sequence View:&lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_timelineview.jpg" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;AMF Request/Response Visualization&lt;/span&gt;&lt;/div&gt;&lt;div&gt;The example above shows requests for static files - images, JavaScript and flash content. Additionally, AppPuncher will detect remoting requests and display information related to the method invocations as shown below: &lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_remotingrequest.jpg" /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;Once you select a node in either Structure or Sequence View, the contents of the request and response will show up in the panels on the right.  If you select a remoting method as shown above (the selected method is getCustomers from an invocation of the Weborb.Examples.DataBinding class), the Request and Response panels will display the following:&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_amf_request_response.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Request/Response Multiple View Type Support&lt;/span&gt;&lt;br /&gt;&lt;div&gt;Notice both request and response can be displayed in different views. A view can be selected using the View drop-down list:&lt;br /&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_viewselector.jpg" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Visualization Optimizations&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Views can be selected independently for requests and responses, but it is also possible to automatically select the same view type by clicking the "Correlate Response and Request Views" checkbox located above the Request panel. When the check box is selected and you change the view for Request, the Response panel will automatically select the same view type:&lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_correlateview.jpg" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;AMF Requests and Responses displayed in AppPuncher can be compressed to show just the data from the request body (method arguments) as well as response body (return value) by selecting the "Body Only" checkbox located under Request and Response panels:&lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_bodyonly.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Debugging Remoting Requests&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Once an invocation is captured by AppPuncher, it can be repeated with altered argument values. Double click an argument value in the Request panel (make sure you use the AMF view) and click the Invoke button to make a new invocation with modified arguments list:&lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_modifiedinvoke.jpg" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The new invocation will show up in the AppPuncher list and can be inspected using the same Request and Response panels.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Request/Response Search and Filtering&lt;/span&gt;&lt;/div&gt;&lt;div&gt;In any debuging session it may be important to find a specific request. AppPuncher has a powerful search and filtering mechanism. Search is dynamic and will locate all matching requests as you type a search query. &lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_search.jpg" /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Filtering allows display of requests and responses of  specific content-types. In addition to well-known content types, AppPuncher automatically adds any new ones  to the list of filters. &lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/apppuncher_filter.jpg" /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We are working hard on adding new features to AppPuncher. The plan is to release the remaining editions (Regression, Stress and Ultimate in the next couple of months). We would love to hear your feedback on using the product. Download your copy today and please let us know how you like it and what we could do better.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-757935599129103870?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=4c8N9_s5Jig:YpS6SqTQ9FU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=4c8N9_s5Jig:YpS6SqTQ9FU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=4c8N9_s5Jig:YpS6SqTQ9FU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=4c8N9_s5Jig:YpS6SqTQ9FU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/4c8N9_s5Jig" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/757935599129103870/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=757935599129103870" title="18 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/757935599129103870" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/757935599129103870" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/4c8N9_s5Jig/apppuncher-clientserver-debugging.html" title="AppPuncher - Client/server debugging system for Flex, Flash and Silverlight" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">18</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2009/01/apppuncher-clientserver-debugging.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-3193289326243760716</id><published>2008-12-08T14:05:00.005-06:00</published><updated>2008-12-08T14:58:46.988-06:00</updated><title type="text">Inter-process communication using AMF</title><content type="html">One of the new features we added in the recent releases of WebORB for Java and .NET is the support for inter-process invocations via AMF. The feature lets you invoke Java, PHP or .NET code from any other process running in Java, PHP or .NET. It does not matter what process type is running on the other end, all combinations of the above are supported. For instance, you can have a .NET process invoking methods in Java object or EJB or PHP class.  The only requirement is that the server-side class/service is running in a WebORB enabled application.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this blog post I will describe how to put together a .NET application that makes an invocation of a remote class. For the simplicity sake, I will use a .NET class on the server-side, however, if you want to integrate with PHP or Java, the only difference will be in the endpoint URL.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A link to the full source code listing is available at the bottom of this blog post.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;1. Create Visual Studio project&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Make sure you have the latest version of WebORB for .NET installed. At the time of writing this blog post, it is 3.6.0.1. Create a Console Application project in Visual Studio. Add a reference to weborb.dll. The file is located in /Inetpub/wwwroot/weborb30/bin&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;2. Add invocation code&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;The API for AMF invocations is available in the Weborb.Client namespace. Make sure to import that namespace.  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Create an instance of Weborb.Client.WeborbClient class. The constructor takes a URL to the server-side instance of WebORB. If you're using the default installation of the product, the URL is "http://localhost/weborb30/weborb.aspx".&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Next, create an instance of the Weborb.Client.Responder&lt;t&gt; class. The responder object contains references to the delegate functions - one when an invocation response is available, and the other to process errors. The generic parameter for the Responder class is the type of the return value you expect to get. The implementation supports the traditional WebORB type adaptation system. For instance, if the remote method returns an instance of System.Data.DataTable, you can specify T to be a collection of complex types. WebORB will automatically transform the data table into a collection of the given type as you will see below in the example. &lt;/t&gt;&lt;/div&gt;&lt;div&gt;Once a responder is ready, you can proceed to the invocation. The Invoke method on the WeborbClient class executes a remoting call. The method accepts the following arguments: name of the class containing the remote method, name of the method to invoke, array of arguments (or null if none) and the responder object. See below:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/amf_invoke_code.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the example above, the code calls the getCustomers method on the Weborb.Examples.DataBinding class. The method returns an instance of System.Data.DataTable. As you can see from the code above, it instructs WebORB to convert the return type to List&lt;customervo&gt;, where every instance of CustomerVO will represent a row from the response. &lt;br /&gt;&lt;br /&gt;&lt;/customervo&gt;&lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/customervo.jpg" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With the implementation shown above, there will be only two 'columns' represented by the instances of the CustomerVO class. If more columns from the response are needed, just add additional properties to the class definition.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, the code for the GotCustomers and GotError methods referenced in the Responder object above is shown below:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://www.themidnightcoders.com/blog/uploaded_images/responder_methods.jpg" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Before you run the code, it is recommended to open up the management console and verify the invocation of the backend method using the Test Drive feature. The console is available at the same URL you used in the code above: http://localhost/weborb30/weborb.aspx&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Select the Management tab and navigate to weborb.dll &gt; Weborb &gt; Examples &gt; Data Binding. Expand the node, select the getCustomers method and click Invoke on the right side of the interface. The console will send an invocation request and display method return value. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.themidnightcoders.com/blog/InvokerAppProject.zip"&gt; Full source code listing with the Visual Studio project files&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-3193289326243760716?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=sD26Ormh9cs:YJJikljhXlA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=sD26Ormh9cs:YJJikljhXlA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=sD26Ormh9cs:YJJikljhXlA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=sD26Ormh9cs:YJJikljhXlA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/sD26Ormh9cs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/3193289326243760716/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=3193289326243760716" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/3193289326243760716" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/3193289326243760716" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/sD26Ormh9cs/inter-process-communication-using-amf.html" title="Inter-process communication using AMF" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2008/12/inter-process-communication-using-amf.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-1582090103681219866</id><published>2008-12-04T10:05:00.003-06:00</published><updated>2008-12-04T15:17:10.923-06:00</updated><title type="text">WebORB 3.6 for .NET is available</title><content type="html">If you're working with the .NET version of our product, we have some news for you. There is a new release with some important features as well as bug fixes. See below for details:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Support for Silverlight client&lt;/span&gt; - Includes client-side component with remoting APIs, code generator integrated into the management console as well as a command line code generation utility. Silverlight integration makes it super simple to invoke methods on remote objects as well as SOAP/REST web services. Btw, Silverlight integration works across all WebORB implementations thus you can connect Silverlight with .NET, Java, PHP and soon ColdFusion components.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Support for server-to-server AMF invocations&lt;/span&gt; - Previous release made it possible to do server-to-server (or process-to-process if you will) invocations via RTMP. With 3.6 you can accomplish the same using AMF over HTTP. This should allow cross-platform integration where .NET can invoke Java or native .NET apps can call each other using simple and intuitive API without all the complexities associated with cross process integration.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;WebORB Visual Studio templates&lt;/span&gt; - Many of you asked for it and we listened. The product installer registers Visual Studio templates with your installation of VisualStudio 2005 and 2008 (whichever you have installed). The templates are available for C# and Visual Basic. There are two types of templates: one to create WebORB-enabled website projects and the other is for WebORB-enables class libraries. We put together a few screencasts demonstrating the templates in action:&lt;br /&gt;&lt;a href="http://www.themidnightcoders.com/products/weborb-for-net/developer-den/screencasts/using-weborb-visual-studio-templates-part1.html"&gt;Using WebORB Visual Studio templates - Part 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.themidnightcoders.com/products/weborb-for-net/developer-den/screencasts/using-weborb-visual-studio-templates-part2.html"&gt;Using WebORB Visual Studio templates - Part 2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Custom MSMQ queue factories support&lt;/span&gt; - When using Producer/Consumer APIs with the messaging destinations connected with MSMQ, you may have a scenario when you need to construct instances of the queue in your own code. WebORB now supports custom queue factories to support this use-case. See the comments in WEB-INF/flex/messaging-config.xml (the &amp;lt;queuefactory&amp;gt; element)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-weight: bold;"&gt;Class mappings between abstract generic collections and concrete implementations&lt;/span&gt; - Suppose you have a remoting method that declares an abstract generic argument:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;public void processOrders( IList&amp;lt;Order&amp;gt; orders )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Since the argument is an abstract type, WebORB would need to know what concrete generic implementation should be used for that IList. The new release provides a way to establish mappings between abstract generic types and a concrete implementation. See &amp;lt;abstractclassmappings&amp;gt; section in weborb.config for more details.&lt;/span&gt;&lt;order&gt;&lt;br /&gt;&lt;br /&gt;&lt;/order&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Bug fixes&lt;/span&gt;:&lt;br /&gt;- Fixed a bug  with reference serialization. The error was resulted in a message "Error #2006: The supplied index is out of bounds"&lt;br /&gt;- Fixed a bug with AJAX remoting and Firefox 3&lt;br /&gt;- Fixed a bug with serialization of very large data sets&lt;br /&gt;- Fixed a bug with passing credentials in AJAX invocations&lt;/li&gt;&lt;/ul&gt;As always, we love to get feedback. Please drop us a line and let us know what we could do better or differently.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-1582090103681219866?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=n3GX7p7sx7I:hq5dOddacRQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=n3GX7p7sx7I:hq5dOddacRQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=n3GX7p7sx7I:hq5dOddacRQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=n3GX7p7sx7I:hq5dOddacRQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/n3GX7p7sx7I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/1582090103681219866/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=1582090103681219866" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/1582090103681219866" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/1582090103681219866" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/n3GX7p7sx7I/weborb-36-for-net-is-available.html" title="WebORB 3.6 for .NET is available" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2008/12/weborb-36-for-net-is-available.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-4361570896247709064</id><published>2008-12-04T09:14:00.003-06:00</published><updated>2008-12-04T09:37:29.492-06:00</updated><title type="text">We have a new website - come check it out!</title><content type="html">The stack of topics I want/need to blog about is experiencing a major overflow, so I'll start in the chronological order.&lt;br /&gt;&lt;br /&gt;If you have not been to our website lately, I recommend you check it out: &lt;a href="http://www.themidnightcoders.com/"&gt;http://www.themidnightcoders.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We have completely redesigned the site and I am very pleased with the new design. Unlike all previous versions of our site, we now have a CMS system. It is not perfect, but certainly a major step forward from where we were. The new site should make it easier to find information about the products and services we provide. We're also incorporating a commenting system for the pages with technical information (like technotes, articles and screencasts). If you see something we might have missed or should improve, we'd love to hear from you.&lt;br /&gt;&lt;br /&gt;Also, just for fun I used the Web Archive to see what the site looked like in the past. Below are the thumbnails of the home page versions going back to 2003 when I launched the company and created the very first version of the site:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.themidnightcoders.com/blog/uploaded_images/site_v1-725399.jpg"&gt;Version 1 (2003):&lt;br /&gt;&lt;img style="cursor: pointer; width: 200px; height: 200px;" src="http://www.themidnightcoders.com/blog/uploaded_images/site_v1-725330.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.themidnightcoders.com/blog/uploaded_images/site_v2-748842.jpg"&gt;Version 2 (2004):&lt;br /&gt;&lt;img style="cursor: pointer; width: 177px; height: 200px;" src="http://www.themidnightcoders.com/blog/uploaded_images/site_v2-748760.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.themidnightcoders.com/blog/uploaded_images/site_v3-748938.jpg"&gt;Version 3(2005):&lt;br /&gt;&lt;img style="cursor: pointer; width: 166px; height: 200px;" src="http://www.themidnightcoders.com/blog/uploaded_images/site_v3-748875.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.themidnightcoders.com/blog/uploaded_images/site_v4-792799.jpg"&gt;Version 4(2007):&lt;br /&gt;&lt;img style="cursor: pointer; width: 161px; height: 200px;" src="http://www.themidnightcoders.com/blog/uploaded_images/site_v4-792730.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.themidnightcoders.com/blog/uploaded_images/site_v5-755464.jpg"&gt;&lt;br /&gt;Version 5 (current)&lt;br /&gt;&lt;img style="cursor: pointer; width: 200px; height: 159px;" src="http://www.themidnightcoders.com/blog/uploaded_images/site_v5-755388.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-4361570896247709064?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=SXkdEJ1j9tc:KwvSa9GlUx8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=SXkdEJ1j9tc:KwvSa9GlUx8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=SXkdEJ1j9tc:KwvSa9GlUx8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=SXkdEJ1j9tc:KwvSa9GlUx8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/SXkdEJ1j9tc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/4361570896247709064/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=4361570896247709064" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/4361570896247709064" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/4361570896247709064" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/SXkdEJ1j9tc/we-have-new-website-come-check-it-out.html" title="We have a new website - come check it out!" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2008/12/we-have-new-website-come-check-it-out.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-8343486950889456786</id><published>2008-11-05T10:58:00.003-06:00</published><updated>2008-11-05T11:27:16.808-06:00</updated><title type="text">Wade Arnold says - "WebORB is way cooler than AMFPHP"</title><content type="html">Wade Arnold (who currently maintains the AMFPHP project and was hired by Adobe to write ZendAMF) recently gave an interview on The Flex Show. The interview touched upon several interesting points. Among them was when the host of the show asked Wade to compare ZendAMF with AMFPHP and WebORB. In the response Wade said:&lt;br /&gt;&lt;br /&gt;"WebORB is WAY cooler than AFMPHP".&lt;br /&gt;&lt;br /&gt;I could not agree more with you, Wade. Thank you for your honest answer.&lt;br /&gt;&lt;br /&gt;One other thing was mentioned that PDF Generation is not something that WebORB will ever do. This is wrong and very soon we're going to announce some fantastic PDF Generation tools for .NET, Java and PHP. Stay tuned!&lt;br /&gt;&lt;br /&gt;You can listen to the interview on the &lt;a href="http://www.theflexshow.com/blog/index.cfm/2008/11/5/Flex-Show-Episode-59-Zend-AMF-w-Wade-Arnold"&gt;Flex Show site&lt;/a&gt;. The interesting part starts at 32 minutes and 17 seconds into the interview&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-8343486950889456786?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=42ar2Hn6QVw:9CkfGOGWfPg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=42ar2Hn6QVw:9CkfGOGWfPg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=42ar2Hn6QVw:9CkfGOGWfPg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=42ar2Hn6QVw:9CkfGOGWfPg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/42ar2Hn6QVw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/8343486950889456786/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=8343486950889456786" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/8343486950889456786" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/8343486950889456786" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/42ar2Hn6QVw/wade-arnold-says-weborb-is-way-cooler.html" title="Wade Arnold says - &quot;WebORB is way cooler than AMFPHP&quot;" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2008/11/wade-arnold-says-weborb-is-way-cooler.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-4641716299923067444</id><published>2008-10-29T15:51:00.005-06:00</published><updated>2008-10-29T16:28:54.827-06:00</updated><title type="text">WebORB for Java 3.0 is released</title><content type="html">I am very happy to announce that WebORB for Java version 3.0 is released into production. It took us very long time, but I am sure the wait was worth it. The product has gone through extensive testing and the final release is full of cool features. Below is a summary of the most notable ones:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Product installer.&lt;/strong&gt; WebORB now comes with the installer. When you download the product, you get weborb4java.jar. You can install the product by running the following command: java-jar weborb4java.jar&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Silverlight integration&lt;/strong&gt;. Silverlight client is now an equal citizen among other rich client technologies WebORB supports. In fact, WebORB is the only product to my knowledge that provides the level of integration between Silverlight apps and Java POJOs, Spring Beans, and EJBs. The product includes a Silverlight client library you can import into Visual Studio projects which will enable remoting between SL and Java. Additionally, the product includes Visual Studio templates to make it easier to get started with Silverlight, Java and WebORB&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Real-time Messaging integration&lt;/strong&gt;. The installer provides an option to add real-time messaging support. When installed, the featureset includes support for data push, client synchronization for data management, remote shared objects, pub/sub support without polling as well as streaming video.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Significant Data Management improvements.&lt;/strong&gt; There are major improvements in stability and code generation performance. The system has been tested on a variety of database types as well as data types.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ActiveMQ integration. &lt;/strong&gt;In general, WebORB integrates with any JMS implementation to provide publish/subscribe messaging. Specifically with ActiveMQ, the product makes it easy to get started as it includes all the special configuration options as well as ActiveMQ messaging broker itself.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In the upcoming weeks and months we plan to roll out several major products. WebORB for Java is a key element of our product strategy. We also plan to publish comparisons between WebORB for Java and other alternatives to make it easier for you to see how much more superior our technology is.&lt;br /&gt;&lt;img style="WIDTH: 171px; CURSOR: hand; HEIGHT: 202px" alt="" src="http://www.themidnightcoders.com/blog/uploaded_images/brown_java-774265.jpg" border="0" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-4641716299923067444?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=r3OhEIiCQ94:xpxZBDJdAio:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=r3OhEIiCQ94:xpxZBDJdAio:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=r3OhEIiCQ94:xpxZBDJdAio:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=r3OhEIiCQ94:xpxZBDJdAio:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/r3OhEIiCQ94" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/4641716299923067444/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=4641716299923067444" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/4641716299923067444" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/4641716299923067444" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/r3OhEIiCQ94/weborb-for-java-30-is-released.html" title="WebORB for Java 3.0 is released" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2008/10/weborb-for-java-30-is-released.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-8233488803961848185</id><published>2008-10-14T12:10:00.002-06:00</published><updated>2008-10-14T12:27:07.923-06:00</updated><title type="text">Google maps, Flex data push and 2008 Elections</title><content type="html">What do these three have in common? We put together a non-scientific US presidential elections simulation using WebORB for .NET and Google maps. The application is running at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dev.themidnightcoders.com/elections/main.html"&gt;http://dev.themidnightcoders.com/elections/main.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As users cast their votes, the server tallies the results and notifies all connected clients using WebORB data push. We used WebORB for .NET for this example, however WebORB for Java could easily fit the bill the as well. We have done several projects where we used Google Maps, Flex and WebORB and it has been rather enjoyable experience. Please pass the URL along and watch the election numbers update automatically.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-8233488803961848185?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=r9TZJC9SbZ4:S76uTj-TuQI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=r9TZJC9SbZ4:S76uTj-TuQI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=r9TZJC9SbZ4:S76uTj-TuQI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=r9TZJC9SbZ4:S76uTj-TuQI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/r9TZJC9SbZ4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/8233488803961848185/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=8233488803961848185" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/8233488803961848185" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/8233488803961848185" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/r9TZJC9SbZ4/google-maps-flex-data-push-and-2008.html" title="Google maps, Flex data push and 2008 Elections" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2008/10/google-maps-flex-data-push-and-2008.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-7146464441714753859</id><published>2008-09-15T11:26:00.003-06:00</published><updated>2008-09-15T11:47:11.542-06:00</updated><title type="text">WebORB for PHP 3.5 (Data Management for Flex plus Silverlight integration)</title><content type="html">I am proud to announce immediate availability of WebORB version 3.5 for PHP. This new release delivers a bunch of very cool and powerful functionality.&lt;br /&gt;&lt;br /&gt;First, we added support for Data Management for Flex (WDMF). The feature includes a code generator and a runtime environment. The codegen creates client-side (ActionScript) code AND server-side PHP code to do full blown CRUD directly from the Flex client application. Our &lt;a href="http://www.themidnightcoders.com/services/index.htm"&gt;professional services team&lt;/a&gt; have implemented several projects using WDMF and the speed of development is phenomenal. Without writing a single line of code, you get about 90% of the backend code plus a fantastic framework for creating custom data-driven rich client application. You can see a screen cast at the following URL:&lt;br /&gt;&lt;a href="http://www.themidnightcoders.com/weborb/php/videos/wdmf/overview"&gt;http://www.themidnightcoders.com/weborb/php/videos/wdmf/overview&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Second, WebORB has always been a client-agnostic technology. We support Flash, Flex, AJAX and now we have added support for Silverlight. The release of WebORB for PHP includes a Silverlight component you can use in your Silverlight application to connect and invoke PHP classes without all the complexity typically involved with Silverlight remoting. All you need to do is to deploy a PHP class into WebORB and the product automatically handles all the marshalling and unmarshalling, type adaptation, etc. We included several examples demonstrating Silverlight talking to PHP using WebORB into the 3.5 product distribution. You can see them all on the Examples tab in the management console. There's also a walk through guide available at:&lt;br /&gt;&lt;a href="http://www.themidnightcoders.com/weborb/php/silverlight_and_php.shtm"&gt;http://www.themidnightcoders.com/weborb/php/silverlight_and_php.shtm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are several bug fixes included into the release, so be sure to check WebORB for PHP 3.5 out.  If you have any questions about the product, you can post them to the &lt;a href="http://www.themidnightcoders.com/forum/default.aspx?g=forum&amp;amp;c=2"&gt;discussion forum&lt;/a&gt;. Additionally, we have &lt;a href="http://support.themidnightcoders.com/knowledgebase.php"&gt;a knowledge base&lt;/a&gt; and for those who wants to receive professional support, check out our &lt;a href="http://www.themidnightcoders.com/weborb/weborb_support_packages.shtm"&gt;support packages&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-7146464441714753859?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=bK1_6V4O3Ak:jh2Vjw-pfiY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=bK1_6V4O3Ak:jh2Vjw-pfiY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=bK1_6V4O3Ak:jh2Vjw-pfiY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=bK1_6V4O3Ak:jh2Vjw-pfiY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/bK1_6V4O3Ak" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/7146464441714753859/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=7146464441714753859" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/7146464441714753859" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/7146464441714753859" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/bK1_6V4O3Ak/weborb-for-php-35-data-management-for.html" title="WebORB for PHP 3.5 (Data Management for Flex plus Silverlight integration)" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2008/09/weborb-for-php-35-data-management-for.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-8921418021768590816</id><published>2008-09-12T11:28:00.002-06:00</published><updated>2008-09-12T11:32:18.683-06:00</updated><title type="text">Running Zend Core with Apache</title><content type="html">I just had to go through a rather painful exercise of configuring Zend Core to run with Apache. The initial experience was promising as the installer asked a bunch of questions, but then just hung in the taskbar without a window. The installer has gone far enough to actually download and install the Apache server on my system. However, it didn't get to the point to configure the Apache web server to handle the execution of the PHP scripts. I went through the pain of figuring it out, so if you're in the similar situation, read on as the resources on the web are very scarce and Zend does not publish any clear instructions on how to configure their product to run under Apache. The instructions assume that you accepted all the default values during the installation (specifically the installation path - C:\Program Files\Zend)&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The Apache web server uses httpd.conf configuration file. The file is located in C:\Program Files\Zend\Apache2\conf. Open the file and add the following configuration (does not matter where, I added at the bottom):&lt;br /&gt;&lt;br /&gt;&lt;code&gt;LoadModule zend_enabler_module "C:/Program Files/Zend/Core/modules/apache2.2/zend_fcgi.dll"&lt;br /&gt;FastCgiConfig "C:/Program Files/Zend/Core/etc/fastcgi.conf"&lt;br /&gt;AddHandler fastcgi-script .php .php3 .phtml .inc&lt;br /&gt;AddType application/x-httpd-php .php .php3 .phtml .inc&lt;br /&gt;&amp;lt;Location&amp;gt;&lt;br /&gt;Order deny,allow&lt;br /&gt;Allow from all&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;br /&gt;Alias /ZendCore "C:/Program Files/Zend/Core/GUI"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The configuration above references application/x-httpd-php mime type, which should be registered in mime.conf located in the same directory as httpd.conf (C:\Program Files\Zend\Apache2\conf). Add the following line in mime.conf:&lt;br /&gt;&lt;br /&gt;   &lt;code&gt;application/x-httpd-php php php3 phtml inc&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;There is a reference to fastcgi.conf in the configuration added in step 1. I am not familiar with FastCGI, so it was the biggest pain to find a sample for that file as Zend does not provide one. Create a text file with the name fastcgi.conf in the following directory C:\Program Files\Zend\Core\etc. The file must have the following content:&lt;br /&gt;&lt;br /&gt;   &lt;code&gt;Server type="application/x-httpd-php" CommandLine="C:\Program Files\Zend\Core\bin\php-cgi.exe" ConnectionTimeout="240" RequestTimeout="360" StartProcesses="16" Impersonate="1" SetEnv="PHP_FCGI_MAX_REQUESTS=10000" SetEnv="PHP_FCGI_CHILDREN=1" SetEnv="PATH=?" SetEnv="TEMP=C:\Program Files\Zend\Core\temp" SetEnv="OS=?" SetEnv="SystemRoot=?" SetEnv="ComSpec=?" SetEnv="DB2INSTANCE=?"&lt;br /&gt;   MinDynamicServers 8&lt;br /&gt;   MaxDynamicServers 32&lt;br /&gt;   IpcDir "C:\Program Files\Zend\Core\temp"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;   IMPORTANT: For the configuration shown above, make sure the file has only FOUR lines: one that starts with "Server", followed by "MinDynamicServers", "MaxDynamicServers" and "IpcDir". So all the line breaks in the "Server" line must be removed, otherwise configuration processing will fail.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The document root for your PHP code is C:\Program Files\Zend\Apache2\htdocs. If you are deploying WebORB, this is where the zip file must be extracted to. To test if PHP is working, place a test script (call it test.php) with phpinfo() into htdocs. Start (or restart) the Apache server and load it from http://localhost/test.php&lt;br /&gt;   Here's a sample of test.php:&lt;br /&gt;&lt;br /&gt;   &amp;lt;?php&lt;br /&gt;   phpinfo();&lt;br /&gt;   ?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Finally configuring php.ini requires a few extra steps. It is still a mystery for me what algorithm PHP/Zend uses to locate php.ini, but generally speaking copying it to your /Windows directory works. Notice that php.ini that comes with Zend does not enable any extensions, so you'd have to do it by yourself.&lt;/li&gt;&lt;/ol&gt;If you had a similar experience configuring your system with Zend and Apache, I'd be interested to hear how it went.&lt;br /&gt;&lt;br /&gt;The really cool news though is that WebORB runs &lt;span style="font-weight: bold;"&gt;absolutely flawlessly&lt;/span&gt; under Zend Framework, including service browser, test drive and our brand new data management implementation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-8921418021768590816?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=B4PLg3Z1P9w:ha61UprqNxc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=B4PLg3Z1P9w:ha61UprqNxc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=B4PLg3Z1P9w:ha61UprqNxc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=B4PLg3Z1P9w:ha61UprqNxc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/B4PLg3Z1P9w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/8921418021768590816/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=8921418021768590816" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/8921418021768590816" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/8921418021768590816" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/B4PLg3Z1P9w/running-zend-core-with-apache.html" title="Running Zend Core with Apache" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2008/09/running-zend-core-with-apache.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-15279569.post-1496061808852315719</id><published>2008-09-08T14:15:00.005-06:00</published><updated>2008-09-08T21:30:18.066-06:00</updated><title type="text">Debugging PHP code when invoked from Flex</title><content type="html">Among thousand other things we have been doing quite a bit of work on WebORB for PHP lately. One of the most unpleasant things in PHP is the complete lack of normal debugging tools (at least I could not find any decent debuggers that would work for me). As a result, when PHP is invoked from a rich client like Flex, one must get very creative in order to tap into the PHP invocation flow and debug it. The reason traditional echo() does not work is it would mess up the binary output created by the gateway. There are several techniques I found to be very effecive. Below is the full list:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Use native PHP logging.  PHP has fairly rich system for error reporting which could be used to log any kind of messages (not just errors). It is important to make sure that your PHP process (or the process running PHP, like IIS/ISAPI for instance) have enough permissions to write to files. Then modify your PHP.INI and enable the following properties: (you can find out where your PHP.INI is by running a PHP page that executes phpinfo())&lt;br /&gt;&lt;pre wrap=""&gt;log_errors = On&lt;br /&gt;error_log = C:\some-directory-path\errors.txt&lt;br /&gt;&lt;/pre&gt;Once you changed PHP.INI, restart your PHP process and you should be able to log your own errors. There's a function that lets you do that: &lt;a href="http://us.php.net/error_log"&gt;error_log&lt;/a&gt;. For instance, the following line will save a string in the error log file:&lt;br /&gt;&lt;br /&gt;&lt;pre wrap=""&gt;error_log( "yo, log this message",  0 );&lt;/pre&gt;To get a detailed view of a complex type or an array, use &lt;a href="http://us.php.net/manual/en/function.print-r.php"&gt;print_r&lt;/a&gt;, but make sure to pass the second parameter to capture the value. For instance:&lt;br /&gt;&lt;br /&gt;&lt;pre wrap=""&gt;$a = array ('a' =&gt; 'apple', 'b' =&gt; 'banana', 'c' =&gt; array ('x', 'y', 'z'));&lt;br /&gt;error_log( "contents of the array are " . print_r($a, true), 0 );&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use WebORB Management Console. The console has a feature called Test Drive. Once you deploy your code into the /services folder, you will see your class in the Management &gt; Services tab. Locate the class, expand it and select the method you want to invoke. You will be able to enter argument values right on the screen and invoke the method using the "Invoke" button.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use &lt;a href="http://www.charlesproxy.com/"&gt;Charles&lt;/a&gt; or &lt;a href="http://kevinlangdon.com/serviceCapture/"&gt;ServiceCapture &lt;/a&gt;proxies. Either one of these tools is a MUST for anyone developing an RIA. You can see all the traffic between your rich client running in a browser and the server. Moreover, the tools decode the binary traffic and display invocation and response structures in a tree view format. &lt;span style="font-weight: bold;"&gt;If you are getting Channel Disconnected error, make sure to inspect the server (PHP) response with one of these tools.&lt;/span&gt; (I should probably repeat that 10 times, so it is implanted into the brains of Flex/PHP developers).&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use WebORB logging. WebORB logging provides more granular control over what gets logged. You can also enable/disable individual loggers in the management console (Management &gt; Server Configuration &gt; Logging). WebORB logging dumps the log messages into a file under /logs folder (located in the weborb installation directory). Using the logging API is fairly straightforward. First "import" the classes using:&lt;br /&gt;&lt;br /&gt;require_once(WebOrb . 'Util/Logging/Log.php');&lt;br /&gt;require_once(WebOrb . "Util/Logging/LoggingConstants.php");&lt;br /&gt;&lt;br /&gt;Then you can start logging using the following call:&lt;br /&gt;&lt;br /&gt;Log::log(LoggingConstants::INFO, "your message or object here" );&lt;br /&gt;&lt;br /&gt;There are several logging categories available, see Util/Logging/LoggingConstants.php for details. Each category can be turn on/off in the management console.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;If you have any tips and tricks for PHP/Flex debugging, please post your comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15279569-1496061808852315719?l=www.themidnightcoders.com%2Fblog'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=ukTmmN_DBow:nTfl3y54f3I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=ukTmmN_DBow:nTfl3y54f3I:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WeborbBlog?a=ukTmmN_DBow:nTfl3y54f3I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WeborbBlog?i=ukTmmN_DBow:nTfl3y54f3I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WeborbBlog/~4/ukTmmN_DBow" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/1496061808852315719/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=15279569&amp;postID=1496061808852315719" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/1496061808852315719" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/15279569/posts/default/1496061808852315719" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WeborbBlog/~3/ukTmmN_DBow/debugging-php-code-when-invoked-from.html" title="Debugging PHP code when invoked from Flex" /><author><name>Mark Piller</name><uri>http://www.blogger.com/profile/18371158765462322166</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="11856981029152331747" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.themidnightcoders.com/blog/2008/09/debugging-php-code-when-invoked-from.html</feedburner:origLink></entry></feed>
