<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://br.sys-con.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Features</title>
 <link>http://br.sys-con.com/</link>
 <description>Latest articles from Features</description>
 <language>en</language>
 <copyright>Copyright 2012 Ulitzer.com</copyright>
 <generator>Ulitzer.com</generator>
 <lastBuildDate>Sat, 18 Feb 2012 09:13:53 EST</lastBuildDate>
 <docs>http://backend.userland.com/rss</docs>
 <ttl>10</ttl>
<item>
 <title>PFC Project Partitioning Using a Referenced PowerBuilder Assembly Target</title>
 <link>http://br.sys-con.com/node/2168601</link>
 <description>Paul Harvey, the great American radio personality, would always conclude his colorful broadcasts with the quip “And now you know the rest of the story.” For those of you not acquainted with Paul’s broadcasts, here’s a sample. If you get to about 3:40 in, you’ll hear the classic remark. Paraphrasing Paul’s tag line, in this article you’ll learn “the rest of the story” about RAD Development methodology in PowerBuilder 12.5 .NET using a Referenced PB Assembly Target. I’ll explain the technique and implementation steps using the open source PEAT PFC demo application.
In a previous PBDJ article, “Slicing the Pie with PowerBuilder .NET 12.1 EBF Project Partitioning” (&lt;a href=&quot;http://yakovwerde.ulitzer.com/node/1740373&quot; title=&quot;http://yakovwerde.ulitzer.com/node/1740373&quot;&gt;http://yakovwerde.ulitzer.com/node/1740373&lt;/a&gt;), I wrote about achieving Classic RAD-like build/test speeds in .NET WPF applications by configuring the Project object partitioning feature. This feature lets you logically carve up a large application into a small manageable-sized executable with a set of related PowerBuilder assemblies that are automatically generated at full build-time via the Project Object. Although, once configured, you can benefit from RAD speed incremental compiles when making changes to your non-framework code, this approach has several disadvantages. First, it can take a lot of developer time, knowledge of the application and several trial and error attempts to configure the feature. Second, since both the framework and the concrete application are in the same target, an inadvertent save to a framework object will cause a full build on the entire application to occur. Third, a flaw in the incremental compile process causes a bunch of meaningless compiler errors to be reported when changing code in a visual object. The only way to clear the situation is by doing a full build (thereby giving up all compile time advantages).&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/2168601&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 16 Feb 2012 10:30:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/2168601</guid>
</item>
<item>
 <title>Advanced DataWindow Sorting</title>
 <link>http://br.sys-con.com/node/2150767</link>
 <description>This article provides a means of automating the sorting of DataWindows... not just grid DataWindows as discussed in last month’s article, but all DataWindows, regardless of display format.
Bear in mind that we are writing programmer tools. When writing for programmers we want to give the programmer the maximum number of options while minimizing the programmer effort. In other words, default as much as possible but allow the programmer to move beyond the defaults.
It would be nice to be able to save searches and reload them but we will save that for the next article.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/2150767&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 03 Feb 2012 12:00:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/2150767</guid>
</item>
<item>
 <title>Creation and Consumption of Web Services with PowerBuilder</title>
 <link>http://br.sys-con.com/node/2133766</link>
 <description>PowerBuilder 12.5 introduced a number of significant enhancements to web services support, both for creation and consumption. 
We’re going to look at what those new features provide and how to use them. We’re also going to look at how we can package some of that functionality so that it can be used from PowerBuilder Classic applications as well.
First though, some background. When support for a web service client was first introduced in PowerBuilder 9, it was done based on an open source library called EasySOAP. There were some limitations with that implementation, primarily because the EasySOAP library only supported SOAP 1.1, was limited to XML over HTTP transport, and provided no support for ancillary web services standards such as WS-Security.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/2133766&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 19 Jan 2012 10:00:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/2133766</guid>
</item>
<item>
 <title>Drop-Down Lists for Decimal Fields</title>
 <link>http://br.sys-con.com/node/2127213</link>
 <description>PowerBuilder has a very handy way to make data entry more convenient: the DropDownDataWindow and DropDownListBox edit styles for DataWindow columns. Indeed, it’s much simpler to pick up a value from a look-up list than to type it in each time you need to enter it. However, it looks like we’ve overlooked one of the cases when use of a drop-down list can make data entry easier for the user. 
Most of the time we use drop-down lists when working with lists of pairs “encoded value”/”decoded value”: the users see and select decoded values and encoded values are saved in the database. The data type of the columns for which we use drop-down lists in such cases may be either string or integer, but it doesn’t make any difference in terms of defining the edit style. Another instance when drop-down lists come in handy is when there is a predefined list of all possible values that can be entered into a column; in this case the entered values shouldn’t even necessarily be encoded and may be stored in the database as is. In this article I will show you how drop-down lists can be used for an altogether different purpose – the entry of special values, and what you should take into consideration when using drop-down lists for DataWindow decimal columns.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/2127213&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 13 Jan 2012 09:30:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/2127213</guid>
</item>
<item>
 <title>After PowerBuilder 12.5 Classic – Sneak Preview</title>
 <link>http://br.sys-con.com/node/2075216</link>
 <description>By the time you are reading this, PB12.5 will have been released and work on PB15 well under way. A lot of exciting things have gone into the .NET version of PB but we still get requests for features to go into the Classic version of the product. Even though there was a lull in activity in PB12 Classic, we are back again in 12.5 – and we are not stopping. You will probably have seen Dave Fish’s webcasts on plans for PB15 (his disclaimers apply here as well) and are hungry for details – I hope to address that in 
this article. 
PB has been around a long time and has accumulated many quirks and inconsistencies. We also have feature requests that are almost as old as the product itself. Our recent releases have done a lot to address these issues, but there are still many features that either need to be updated or simply completed. It would be amazing if you can still get away with a new application today that used “traditional” MDI. I’ll let you in on a secret – the toolbar in the IDE has the same implementation as the one in your application at runtime – the difference is that the one in the IDE has comboboxes. And there is no reason why only WPF should have the grid layout.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/2075216&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 27 Nov 2011 13:00:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/2075216</guid>
</item>
<item>
 <title>Advanced DataWindow Filtering with PowerFilter</title>
 <link>http://br.sys-con.com/node/2071447</link>
 <description>As we all know, the DataWindow is a very powerful and flexible control used for data presentation and manipulation. For the most part, the features that you get out of the box allow you to create some very impressive applications. With that said, there is always room for improvement. Fortunately for us, the DataWindow was built with flexibility in mind. By taking advantage of this flexibility, we can extend the DataWindow to do almost anything we want.
In this article, I’m going to introduce you to PowerFilter, a control developed by Jim Reese and available for purchase from &lt;a href=&quot;http://www.PowerToTheBuilder.com&quot; title=&quot;www.PowerToTheBuilder.com&quot;&gt;www.PowerToTheBuilder.com&lt;/a&gt;. PowerFilter is an easy-to-implement DataWindow filtering component that gives your application auto-filtering functionality similar to that found in Excel 2007\2010. It works with your existing DataWindows and requires as little as three lines of PowerScript to implement (see Figure 1).&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/2071447&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 24 Nov 2011 13:00:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/2071447</guid>
</item>
<item>
 <title>Software Inventory Control Systems</title>
 <link>http://br.sys-con.com/node/1974135</link>
 <description>This article will focus on Software Inventory Control Systems (SICS). Recently, I was asked by Bill Rogers (NH DoIT Commissioner) and Peter Hastings (NH DoIT Director) to take a look at SICS, investigate them and provide a recommendation. When I started this research I knew nothing about SICS. I didn’t understand their value. I ate, slept, and breathed these tools for a period of time so that I could understand their value. I got a good education from some smart folks: individuals in DoIT who were familiar with these products, research from the Internet, testimonials from other users on products, many demos and I inquired into what other states were using.
Presently, I am the administrator of SCM AllFusion Harvest. SCM AllFusion Harvest is a process-based Software Configuration Management (SCM) tool for managing application source code. I manage 181 applications housed in SCM AllFusion Harvest and support 122 users using the product. The development tools we currently use are PowerBuilder PBV8, PBV11; Visual Studio 2003, 2005, 2008; Eclipse and Java.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1974135&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 09 Sep 2011 10:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1974135</guid>
</item>
<item>
 <title>Getting to the Top of the Pecking Order</title>
 <link>http://br.sys-con.com/node/1951577</link>
 <description>Your application has a window containing custom visual user objects (CVUOs) that require system services in their constructor events. Obviously, the services must be resident and active before the CVUO constructor is invoked. Using globals (functions, or NVO references) is one approach, but you want to code your solution in a Service Based Object Oriented manner. Being an object-oriented aficionado, you don’t want the service to be of global scope. You’d rather define the NVO as a Window service. You define the service inside a Custom Class User Object (NVO) that you declare on the window and instantiate in the Open event. The window defines a NVO instance variable and creates it in its Open event. The CCUO calls the NVO service via the window in its constructor event. Figure 1 shows the code objects in the system tree. Figure 2 illustrates the scenario.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1951577&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 19 Aug 2011 17:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1951577</guid>
</item>
<item>
 <title>Advanced WebDW HTML Generation</title>
 <link>http://br.sys-con.com/node/42468</link>
 <description>Okay, so I&#039;ve been promoting the inclusion of PB client/server articles, yet here I am writing about the Web DataWindow. Don&#039;t stop reading! This article applies to all PB developers, whether n-tier or client/server. That said, I now have to prove that this article is important to client/server developers&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/42468&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 01 Aug 2011 00:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/42468</guid>
</item>
<item>
 <title>RESTful Web Services: A Quick-Start How-to Guide - Part 2</title>
 <link>http://br.sys-con.com/node/1913998</link>
 <description>Part 2 of &quot;RESTful Web Services: A Quick-Start How-To Guide&quot; explores foundational issues in coding RESTful operations, including Basic Authentication and Exception handling. Along the way I’ll share with you multiple real-world coding tips and workarounds.
As a teenager, one of my favorite TV shows was “The Wild Wild West.” The show’s description goes like this, “… a 60 minute western action series on CBS that was like no other. Special Agents James West and Artemus Gordon were spies for President Ulysses S. Grant shortly after the civil war. In every other way, they could be easily confused with James Bond of the 20th century. They had a &quot;high-tech&quot; (for its day) railroad car stocked with a compliment of advanced weapons. James West especially seemed to woo every beautiful woman he encountered. The agents&#039; typical mission involved saving the United States from some disaster or from being taken over by some evil genius.” Just in case you’re curious or are a fan like me, here’s a link to the first part of a full episode on YouTube: &lt;a href=&quot;http://youtu.be/90FsuJjknV8&quot; title=&quot;http://youtu.be/90FsuJjknV8&quot;&gt;http://youtu.be/90FsuJjknV8&lt;/a&gt; &lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1913998&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 21 Jul 2011 16:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1913998</guid>
</item>
<item>
 <title>Using the Tag Property – Part 3</title>
 <link>http://br.sys-con.com/node/1911867</link>
 <description>This is the third and final part of a series presenting a proposal for the use of the tag property of DataWindow columns. My original thought was to provide a means to automatically set a microhelp for each column. Of course, if you are using an MDI application you have a function to set the microhelp, but that function is only available in MDI. If you are using any other application type, then this is not available to you.
Even if you do have an MDI, I have found that the microhelp is not as useful as I would like. The microhelp is always on the frame, nowhere near the column. The user might miss it entirely.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1911867&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 19 Jul 2011 12:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1911867</guid>
</item>
<item>
 <title>Case Study: Refactoring a PowerBuilder Classic Application</title>
 <link>http://br.sys-con.com/node/1907592</link>
 <description>Under heavy Confederate fire, wounded, surrounded, with one third of his men lost, Union General John Corse is holding the fort on the top of the hill in the US Civil War battle of Altoona. Peering into the distance, he sees a white signal flag waving. It is a message from General Sherman; “Hold the fort, for we are coming!” Greatly strengthened by the thought of salvation and the enemy weakened by the thought of a large attack, General Corse and his men rebuff the Confederate attackers. (See this link to learn more about the battle &lt;a href=&quot;http://www.ngeorgia.com/history/allapass.html&quot; title=&quot;http://www.ngeorgia.com/history/allapass.html&quot;&gt;http://www.ngeorgia.com/history/allapass.html&lt;/a&gt;)
Mature, feature-rich, market-leading software applications too can be ‘under attack.’ Attacks come from new applications entering the marketplace which although, less feature rich and functional, have modern attractive UIs and are industry buzz word compliant.  &lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1907592&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 15 Jul 2011 12:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1907592</guid>
</item>
<item>
 <title>How Sofrepost Modernized Their Commercial PowerBuilder Applications</title>
 <link>http://br.sys-con.com/node/1899219</link>
 <description>Sofrepost, a subsidiary of La Poste (the French mail), develops and sells SPS, a management system for post offices. Our clients are national postal systems from a dozen countries on several continents.
SPS is composed of five packaged applications developed with PowerBuilder that represent around 150 Mo of code, 400 windows and 1200 DW.
The initial development of our application took place in 1996 and required approximately 10 man years. The application has since been regularly modified to extend its functionalities. &lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1899219&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 07 Jul 2011 13:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1899219</guid>
</item>
<item>
 <title>RESTful Web Services: A Quick-Start How-to Guide - Part 1</title>
 <link>http://br.sys-con.com/node/1897337</link>
 <description>Among PowerBuilder 12.5 .NET’s new features comes the ability to use WCF to call RESTful web services. This article, the first in a two-part series, provides a PowerBuilder 12.5 .NET developer with the foundational knowledge and skills to rapidly get up and running building PowerBuilder RESTful Web Service clients. Along the way I’ll share with you a few tips and workarounds.
PowerBuilder 12.0 .NET provided the ability to call SOAP-based web services using Microsoft’s .NET 3.5 WCF API. I encourage those of you not familiar with WCF and SOAP to view my PowerBuilder WCF primer and StockTrader reference application overview hosted on Sybase.com. You can get to all my free tutorials from &lt;a href=&quot;http://yakovwerde.ulitzer.com/node/1551687&quot; title=&quot;http://yakovwerde.ulitzer.com/node/1551687&quot;&gt;http://yakovwerde.ulitzer.com/node/1551687&lt;/a&gt;. New with version 12.5, along with an upgrade to WCF 4.0, is the ability to call RESTful web services, an increasingly popular mechanism for accessing remote resources in SOA applications. In this article I’ll help you gain some foundational understanding and definitions, then familiarize you with the mechanics of coding a client to retrieve data from a response-oriented RESTful service. In Part 2, I’ll explore the three types of request-oriented operations.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1897337&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 07 Jul 2011 12:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1897337</guid>
</item>
<item>
 <title>Using the Tag Property - Part 2</title>
 <link>http://br.sys-con.com/node/1886003</link>
 <description>This is the second part of a two-part article. In the last article we learned how to use the tag property to create our own microhelp and automate it. In this article we are going to go one step further and use the tag property for other things.
The list of items that I used the tag property for has shrunk over the years as Sybase has tried to give us more tools. Apart from the microhelp the most common use I had was to implement a tool tip. Now Sybase gives us a tool tip without our having to code a pop-up window. 
Luckily I don’t have to have a long list of items; one more is sufficient to show you the technique that I desire. I want to show you how to use the tag property for more than one thing. We have the microhelp, how about something else such as automatically bolding the static text that is associated with the control?&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1886003&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 24 Jun 2011 11:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1886003</guid>
</item>
<item>
 <title>Using the Tag Property – Part 1</title>
 <link>http://br.sys-con.com/node/1857165</link>
 <description>Have you ever seen a form that has its own microhelp that changes when a field gets focus? I’m sure you have. You might see a window and at the bottom of the window is a line that says, “OPTIONAL – Enter the employee birth date,” when a field is entered. We are going to create a simple automated solution that will allow you to carry the microhelp along in the DataWindow. 
Take a look at Figure 1. It’s a freeform DataWindow with a SQL data source. I chose the Employee table from the sample database that comes with PowerBuilder. I didn’t do anything special to it. My goal here is to show you how to automate a microhelp. When PowerBuilder put the columns on the DataWindow painter, the tab was automatically set. I just left it at the default.
Then I created a window and threw the DataWindow into it. I threw a custom object on the window and associated it with the DataWindow. That would be the red text that you see. Now every time the DataWindow changes columns it displays the tag attribute of the new column in the object at the bottom. You actually don’t have to do anything at all.
So let’s get started doing this.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1857165&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 02 Jun 2011 15:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1857165</guid>
</item>
<item>
 <title>Extending SQLCA</title>
 <link>http://br.sys-con.com/node/1842999</link>
 <description>This month the article is not exclusively about DataWindows. To be sure it is about DataWindows, just not exclusively so. This month we are going to have to stretch our skills just a little.
The goal is to replace SQLCA with something a little more robust. Essentially we are going to flesh out the dbError event of SQLCA so that it actually displays the database error message rather than the ugly default message. Believe me, when your users see those default errors it annoys them. The errors are usually not helpful to them so they click on OK then call you and say, “My program broke.” 
You can give them something a little more helpful and let them email you the error message. Wouldn’t that be nice? You’d be able to get the real message. Please note that at the end of this article there will be a link to download the source code that will contain the library that we have developed up to this point.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1842999&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 22 May 2011 11:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1842999</guid>
</item>
<item>
 <title>The Little PowerBuilder App that Grew</title>
 <link>http://br.sys-con.com/node/1838031</link>
 <description>This article will describe the development of a fairly large (over 4,000 users) one-man software business, selling an application developed with PowerBuilder. I’ll touch on a number of technical issues I encountered in the development of the program and the business. 
The DONATION program is used by small to mid-sized charities and churches, mostly in North America, to track their donors and donations, and to issue charitable receipts. The first version was actually written in C, in 1994, to fill a gap at my own Quaker Meeting, after a commercial program we had bought started falling apart (no referential integrity). I decided I could write something better. By 1999, it was time to create a Windows version, and the PowerBuilder version was born. 
Having put so much work into it by this time, I felt there was no point having only one organization use it, so I put it up for free download and use on a web site. At that point I had a regular programming job and had no desire to make a business out of it. A few years later, I started inviting voluntary contributions for it, but that never did any more than pay my expenses for hosting, software, etc. After 8 years of giving it away for free, there were over 4,000 users.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1838031&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 18 May 2011 09:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1838031</guid>
</item>
<item>
 <title>The Missing Link</title>
 <link>http://br.sys-con.com/node/1754733</link>
 <description>Application partitioning is a hot topic lately. If you’ve been following my articles in this publication and in ISUG Journal, you are no doubt beginning to get the picture of what application partitioning is all about. You now know that an application has three logical layers: user interface; business access and data access. You also know that the ultimate goal of partitioning in a .NET application is to extract business and data access logic into distinct sets of assemblies whose methods can be called from the GUI layer to accomplish application processing.
With reference to distinct data access assemblies, one key element was troubling me. How inefficient it would be if each assembly needed its own connection. How could multiple assemblies, each running in their own memory space, share a database connection? How could methods spread across multiple assemblies be able to participate in a single database transaction? The answer to these questions would be the missing link whose discovery would enable robust partitioned applications.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1754733&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 17 Mar 2011 15:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1754733</guid>
</item>
<item>
 <title>Slicing the Pie with PowerBuilder .NET 12.1 EBF Project Partitioning</title>
 <link>http://br.sys-con.com/node/1740373</link>
 <description>There are all kinds of pies, chicken pot pie, shepherd’s pie, cherry pie and of course good ol’ American apple pie. Every host or hostess knows that pies are perfect circles. There are infinite ways to divide and serve them. They can be cut in halves, thirds, quarters, eighths, sixteenths or any combination thereof. If a pie is small, you might even choose to serve each guest a whole pie. It’s up to you to determine which size pieces are appropriate for your guests.
In a sense, configuring a .NET application for deployment is a lot like dividing a pie. You can deploy the entire application as a whole pie (a single EXE) or you can carve it up into a set of smaller related assemblies. How you divide the application into separate deployment pieces is really your choice.
In this article, I’ll take a look the new project painter feature included in the March 21.1 EBF release that gives you control over how you architect your deployment. I’ll give you the lowdown on why this feature is important to you and show you how to work with the configuration tools to achieve your desired result.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1740373&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 07 Mar 2011 15:30:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1740373</guid>
</item>
<item>
 <title>DataWindow Magic: Master_Detail Object</title>
 <link>http://br.sys-con.com/node/1735979</link>
 <description>One of the most useful custom objects that I’ve ever written is my master_detail object. It holds a prominent place in my toolkit. This article will take you through the steps of how to write one and in the process de-mystify the object.
First we want something that looks like Figure 1. Selecting a row in the top DataWindow will display the details in the bottom. I’m sure that you’ve seen this kind of DataWindow and you’ve probably written many of them. The key here is not to tell you how to write this but how to simplify every one that you will write in the future. For our example I will again use the example database that came with PowerBuilder.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1735979&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 04 Mar 2011 13:00:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1735979</guid>
</item>
<item>
 <title>Refactoring Corner: Partitioning DataWindow Technology</title>
 <link>http://br.sys-con.com/node/1698907</link>
 <description>One of the main goals of PowerBuilder Classic application refactoring is to divide the code into logical partitions. Although you will likely not gain significant performance increases in exchange for your efforts, you will achieve two other highly significant gains. First, your logic will gain interoperability; you will have the ability to share application business and data logic with other applications developed in other .NET languages. (I say ability because you still need to make your method interfaces Common Type System compliant.) Second, your code maintenance activities will gain a more predictable and less likely flawed result because of the code’s newly attained clarity.
Figure 1 shows the conceptual structure of a typical Classic application before refactoring. Note that both business logic and data access logic are embedded with GUI elements. &lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1698907&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 02 Feb 2011 10:15:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1698907</guid>
</item>
<item>
 <title>Service-Based Architecture for the DataWindow</title>
 <link>http://br.sys-con.com/node/1689579</link>
 <description>Service objects were introduced for PowerBuilder at about the same time as the PowerBuilder Foundation Classes. Much like the PFC, most programmers found reasons not to use them. In this article we will reduce the complexity of these objects and in so doing perhaps open a new world of efficient objects that are easily maintained and understood.
This article is going to create a service object for the DataWindow. The idea behind this object and others like it is to minimize the footprint of the DataWindow. We want to minimize the amount of memory that the DataWindow requires and thus provide the greatest responsiveness that we can.
One of the most used areas of functionality for a PowerBuilder programmer is row selection for the DataWindow. How many times have you gone to the Clicked event of a DataWindow control and typed something like the following?&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1689579&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 26 Jan 2011 11:00:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1689579</guid>
</item>
<item>
 <title>Peering Behind the PowerBuilder .NET Assembly Curtain</title>
 <link>http://br.sys-con.com/node/1664364</link>
 <description>Part of the allure of the .NET platform is that all code, no matter what language or grammar it’s written in, compiles down to Common Intermediate Language (CIL) that is managed and executed by the Common Language Runtime (CLR). PowerScript code goes through a two-step process before becoming CIL. First it’s run through PBCS.exe, which converts PowerScript to the equivalent C#. Then the emitted CS code is compiled by the C# compiler, CS.EXE, into standard CIL. 
One of the tools that ships with the .NET SDK is a CIL disassembler ILDASM.exe. The tool allows you to explore the emitted assemblies and examine their CIL instructions and metadata.
I decided to build a simple C# application into an assembly and explore its CIL and reproduce it in PowerScript to compare compiler outputs and see what I could learn. &lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1664364&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 05 Jan 2011 09:45:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1664364</guid>
</item>
<item>
 <title>Harvest R7 – R12: Performing an Upgrade Process </title>
 <link>http://br.sys-con.com/node/1661643</link>
 <description>This article will focus on the upgrade process from AllFusion Harvest Change Manager R7.1 to CA Software Change Manager (SCM) R12.0.2. I am writing this article because I recently went through this process and felt it would be beneficial to share this experience with other users in the field. We ran into some surprises and I wanted other users to be able to use this article as a checklist of activities to be aware of when performing this upgrade process.  
This process can be pretty straightforward if the upgrade only concerns upgrading the repository data alone. However, there is a lot of overhead in this process if you are using Forms, Attachments to Forms, User Defined Processes (UDPs), Email notifications, Encryption of passwords, Enforce Package Bind Flags, Verify Package Dependency Flags, Canned Reports or Customized reports. The project that I worked on to upgrade used many of these processes, which made the upgrade progress more labor-intensive as a result. The team that was experiencing this upgrade used Harvest very aggressively and took advantage of the power and robustness of this tool, which in turn enhanced the information available to the team related to this project in a central repository.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1661643&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 03 Jan 2011 07:15:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1661643</guid>
</item>
<item>
 <title>Bound and Tied: What Is Data Binding? </title>
 <link>http://br.sys-con.com/node/1635301</link>
 <description>XAML data binding is a codeless (declarative) way of transferring information from one object to another. It’s very helpful in a UI where data originating in one object controls a characteristic of (or is the source of data displayed in) another object. Data binding’s main benefit is to greatly reduce (if not eliminate) the number of lines of procedural code you have to write in code behind class event handlers. Taken to its full extent, it’s possible for a designer (a non-programmer) to define both the GUI’s look and feel as well as its behavior within a design tool without resorting to programmer assistance.
Figure 1 shows a simple example. The window has a horizontal slide bar and a static text. Moving the track bar slider changes the size of the static text.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1635301&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 06 Dec 2010 06:45:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1635301</guid>
</item>
<item>
 <title>PowerBuilder Build Process with SCM R12</title>
 <link>http://br.sys-con.com/node/1626500</link>
 <description>This article will focus on the PowerBuilder Build Process using E. Crane Computing product PowerGen with CA Software Change Manager (SCM) R12.0.2. I am writing this article because we recently upgraded to SCM R12 and it was a good time to visit our PowerBuilder build process and see what has changed.  I felt it would be beneficial to share this process with other users in the field. I want users to be able to use this article as a checklist of activities to be aware of when performing the PowerBuilder build process with the latest version of Harvest SCM R12 and PowerGen.
Every Software Configuration Management tool is different in terms of functionality and navigation; however, they all have common threads of functionality that are consistent with all Software Configuration Management tools. Common activities include checking out, checking in, adding new files, deleting existing files, obsoleting files and loading an initial baseline of source code. The way these tasks are achieved is of course different from tool to tool but many of the SCM tools perform these basic activities. I prefer SCM tools that have a relational database behind them for security, disaster recovery, retrieval and storage capability.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1626500&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 29 Nov 2010 07:00:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1626500</guid>
</item>
<item>
 <title>A Thorough Subscription Model</title>
 <link>http://br.sys-con.com/node/1609421</link>
 <description>In PowerBuilder, an event is used as a place to put code in reaction to something. The .NET world uses events differently and, in my opinion, more appropriately. In .NET, an event is just notification that something happened. This lets other objects react to changes while PowerBuilder’s events only let an object know about its own changes.
Where is the benefit to the .NET approach? One of the most common scenarios is the master/detail window. The master view has a list of items and allows you to open a detail view for a specific item. How much work is done to update the master list once a detail item has been saved? What if you have a different window that uses that master list in a drop-down? How much work does it take to update that drop-down list when the detail window changes? The subscription model for .NET events makes it much easier. I’d like to share with you how I implemented that subscription model in PowerBuilder, applicable in versions six and later.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1609421&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 15 Nov 2010 08:00:00 EST</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1609421</guid>
</item>
<item>
 <title>Merging Newer Technology into an Existing Code Line</title>
 <link>http://br.sys-con.com/node/1550418</link>
 <description>If you don’t know the words to this classic folk song, here they are: 
Oh, the old gray mare, she ain’t what she used to be, Ain’t what she used to be, ain’t what she used to be. The old gray mare, she ain’t what she used to be, Many long years ago.
I can’t count how many times I heard this song’s melody in the background of an animated cartoon. Usually it was played at a slow pace in an exaggerated manner to accompany a worn-out character trudging along, apparently bogged down by some trouble or other. (If you listened to different melodies as a kid, check it out here &lt;a href=&quot;http://freekidsmusic.com/traditional/the-old-gray-mare.html&quot; title=&quot;http://freekidsmusic.com/traditional/the-old-gray-mare.html&quot;&gt;http://freekidsmusic.com/traditional/the-old-gray-mare.html&lt;/a&gt;) Because of this cartoon-ization I attributed negative connotations to the melody. Then I found the ‘real’ story. According Wikipedia, “Some authors have said that the song originated based upon the extraordinary performance of Lady Suffolk, who was the first horse to do the mile in less than two and a half minutes. It occurred on July 4, 1843, at the Beacon Course racetrack in Hoboken, New Jersey, when she was over 10 years old.” Wow, a ten year old horse breaking a global speed record. Not bad!What’s this got to do with PowerBuilder, plenty! As you’ll soon see!&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1550418&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 29 Sep 2010 11:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1550418</guid>
</item>
<item>
 <title>Writing COM Controls for PowerBuilder in C#</title>
 <link>http://br.sys-con.com/node/1545062</link>
 <description>While there is literature describing how to use .NET controls in PB (see for example, past issues of this magazine), all are silent on how to set control properties at runtime and how to persist them. This article will address both issues. 
Like regular OLE controls, you can allow your .NET control properties to be set at design-time by means of property pages (see Figure 1).
The ideas in this article have been implemented in source code available at the PB12 Resource (&lt;a href=&quot;http://www.sybase.com/powerbuilder12&quot; title=&quot;http://www.sybase.com/powerbuilder12&quot;&gt;http://www.sybase.com/powerbuilder12&lt;/a&gt;). Look for “Writing A COM Control for PB using C# Part 6.” This article will reference it.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1545062&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 26 Sep 2010 03:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1545062</guid>
</item>
<item>
 <title>PowerBuilder: The Best Platform to Service Health Care’s Needs</title>
 <link>http://br.sys-con.com/node/1534686</link>
 <description>We make EMR (Electronic Medical Record) Software. Being users ourselves, our development approach has been entirely from the users’ perspective. The ease and simplicity of the PowerBuilder development environment deserves due credit for the relative success of our efforts. Our main developer has had no formal training in software, and still treats the development efforts as a hobby. As we are laypeople, for the most part, some ideas that we have incorporated may be considered by the more experienced as out-of-the-box thinking.
Medical Records traditionally have been textual and generally written in long hand. With the onset of computers, the shift to transcription occurred, where as dictation of the clinical details was done during the consult. A secretary or transcriber would then carefully convert the recording to a clinical document using a document editor. However, both for handwritten as well as transcribed documents, the information recording is generally in a non-database format. Thus, the entries become repetitive and are not available for statistical analysis later.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1534686&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 15 Sep 2010 14:12:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1534686</guid>
</item>
<item>
 <title>The Future of Software Development</title>
 <link>http://br.sys-con.com/node/1372259</link>
 <description>As software developers, our mission is to deliver positive, technology-based solutions – software that provides both the means and the method for working faster, performing better, achieving more. There is little doubt that the technologies we create provide users with the control and functionality needed to be more efficient and productive. However, what happens when the tools we use to produce these solutions get out of control?
Evolution in the technology ecosystem has accelerated to the speed of light – blink and you may miss something important. The software development landscape has mushroomed with near-exponential growth; new products and innovations are flooding the market on a daily basis. It begs the question: does this swift evolutionary pace represent a positive stage in the maturation of software development or are we moving too quickly for our own good? What does the future of software hold for us? It is an open question that can only be answered with time.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1372259&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 09 Aug 2010 09:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1372259</guid>
</item>
<item>
 <title>Building Bridges: PowerBuilder/InfoMaker Integration in the .NET Universe</title>
 <link>http://br.sys-con.com/node/1486956</link>
 <description>There has been some talk lately about the impact of the new .NET PBL and EXE format on applications that dynamically integrate InfoMaker reports (or other external PBLs). The concern is that since PowerBuilder has gone .NET and InfoMaker remains Classic, platform differences will break the integration mechanism that ties these two products together. In this article I’ll take a look at the issue, provide some background for the uninitiated and propose a mechanism to bridge the gap.
For those of you not familiar with InfoMaker, it’s a reporting tool featuring the DataWindow Object Painter and runtime engine wrapped in a power-user friendly tool. InfoMaker is a popular in Sybase shops where there is an ad hoc or admin-user reporting requirement. It is also bundled as a report writer with many commercial systems. Product synergy allows InfoMaker-generated reports to become part of the core PB application while still under the control of their admin creator. This integration is possible for two reasons: one, InfoMaker report definitions are syntactically equivalent to DataWindows; and two, InfoMaker stores its report definitions in a PBL in the same format that PowerBuilder does. Most notably, InfoMaker PBLs are fully PowerBuilder Classic compatible. I’ll begin by taking a look at the PBL structure and the runtime API for accessing it.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1486956&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 04 Aug 2010 09:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1486956</guid>
</item>
<item>
 <title>The Mystery of the dbName DataWindow Column Property</title>
 <link>http://br.sys-con.com/node/1466601</link>
 <description>PowerBuilder has very good online help and documentation that extensively covers most aspects of programming with PowerBuilder. However, from time to time you’ll come across a problem that you can’t find an answer to in the online help or documentation. If a search on the Internet does not yield any results either, the only remaining option is to try to find the answer on your own. In this article I describe a problem I had with the dbName DataWindow column property and what I found out about it.
I was maintaining a project that had had no activity for quite a few months. I even had a hardware failure on the PC where the development environment was set up but didn’t really worry about this: the project was stable and there were no potential extensions in sight. But you know how it is – one day I got a call from a customer and it turned out that a small extension was needed in one of the applications. I set up the development environment on another PC and restored the source code from a backup copy. The application was written in PB6.5 with SQLAnywhere 5 used as a back end. I created the needed OBDC data sources and database profiles for PowerBuilder and successfully connected to the database. Then I decided to refresh my memory and started exploring the functions of the application around the place where the change was going to be done. Imagine my surprise when I received a runtime error after starting one of the key operations of the application. I double-checked the source code, the database, and rebuilt the project in PowerBuilder, but it was all in vain. The application didn’t work; it crashed each time I called one particular operation.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1466601&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 16 Jul 2010 07:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1466601</guid>
</item>
<item>
 <title>Refactoring PowerBuilder Applications</title>
 <link>http://br.sys-con.com/node/1464903</link>
 <description>The migration march to PB 12.NET will have many shops revisiting legacy applications. In my previous articles (“Refactoring Is Not an ‘R’ Word, [PBDJ, Vol. 16, issue 12] and “Refactoring Classic PowerBuilder Applications Using TDD and pbUnit” [PBDJ, Vol. 17, issue 1) you read why refactoring code before migration helps ensure smooth migration and enterprise integration. You were introduced to Test Driven Development methodology and saw how you can use it to ensure successful refactoring. I introduced you to pbUnit, an open source tool and framework that you can use for both refactoring and developing new code in PB Classic applications, and guided you through installing pbUnit and mastering the basic algorithm for refactoring PB legacy code. In this article I’ll show you a technique to use for rolling multiple test cases into a single test suite and how to approach writing test cases that exercise database-centric code.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1464903&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 15 Jul 2010 08:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1464903</guid>
</item>
<item>
 <title>Refactoring Classic PowerBuilder Applications Using TDD and pbUnit</title>
 <link>http://br.sys-con.com/node/1443544</link>
 <description>The migration march to PB 12.NET will have many shops revisiting legacy applications. In my previous article, “Refactoring Is Not an ‘R’ Word” (PBDJ, Vol. 16, issue 12), you read why refactoring code before migration helps ensure smooth migration and enterprise integration. You were introduced to Test Driven Development methodology and saw how you can use it to ensure successful refactoring. You were also introduced to pbUnit, an open source tool and framework that you can use for both refactoring and developing new code in PB Classic applications. In this article I’ll guide you through installing pbUnit and help you master the basic algorithm when refactoring your PB legacy code with pbUnit and test driven methodology.
In addition to installing and using pbUnit with Classic PowerBuilder to run unit Tests, you’ll also learn how to get your code under test so you can go about refactoring your code with confidence. After that, I’ll show you how to do a couple of refactorings to thin out a GUI and partition business and data logic&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1443544&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 24 Jun 2010 08:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1443544</guid>
</item>
<item>
 <title>The In-Memory DBMS Opportunity: IMDB and Performance Enhancement </title>
 <link>http://br.sys-con.com/node/1421873</link>
 <description>The database has changed. Or at the very least it is changing, possibly quite rapidly. One of the major influences driving this change is the In-memory DBMS (IMDB). Some argue that the IMDB has emerged specifically to meet the needs of embedded systems and as is evidenced by the very name, IMDBs exist entirely in memory without ever going to disk. In fact, in-memory systems have blossomed in recent times and evolved from a period when they were only used for caching, or in high-speed data systems, to a place now in 2010 when they may form a far more prevalent part of the mainstream IT landscape. 

&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1421873&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 08 Jun 2010 10:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1421873</guid>
</item>
<item>
 <title>Enterprise Architecture with PowerDesigner 15.1</title>
 <link>http://br.sys-con.com/node/1417460</link>
 <description>This article will discuss what Enterprise Architecture is, why you need it and how you can achieve it. The term Enterprise Architecture (EA) can mean different things to different people. For the confines of this article, we will use a definition from Paul Weill, Director of MIT Center for Information Systems Research, which states, “Enterprise Architecture is the organization of logic for business processes and IT infrastructure, reflecting the integration and standardization requirements of the firm’s operation model.” 
In breaking EA down we understand that “enterprise” equals “business” and “architecture” is “how things are designed and constructed”; you can start to see that EA in basic terms is about “how businesses are designed and constructed.” Businesses are designed and constructed based on their information and/or metadata and how it is managed. The way to manage metadata is through models. Models provide abstraction to simplify complexity, increase understanding through visual representations, and provide governance to increase consistency and reusability throughout the organization. &lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1417460&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 04 Jun 2010 12:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1417460</guid>
</item>
<item>
 <title>Using the New PB Object Outline</title>
 <link>http://br.sys-con.com/node/1396781</link>
 <description>For many releases of PB Classic, the object painters allowed the user to open views to see various parts of the edited object, such as Layout, and Control List. This feature allowed for each view to be customized to its contents, but it also meant that you really never had a complete snapshot of the object in one view. And we all know that an interesting object is the sum of all its parts.
In PB .NET 12.0, we were presented with a challenge for object views. For one thing, in the Visual Studio shell any views we might create would not be contained within the designer, but would rather be part of the IDE layout. This meant views would remain open when the designer was closed. The second challenge had to do with all the new language enhancements that we now support. Enumerations, Indexers, and .NET Properties might all require additional views. My, oh my, we have view overload!&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1396781&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 17 May 2010 08:14:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1396781</guid>
</item>
<item>
 <title>Twenty-Four Reasons To Consider PowerBuilder 12</title>
 <link>http://br.sys-con.com/node/1378117</link>
 <description>PowerBuilder 12 has been released. The new version represents a huge leap forward as far as support for .Net development, particularly reflected by the introduction of a new .Net IDE based on the Visual Studio Isolated Shell. That doesn’t mean that people who aren’t doing .Net development with PowerBuilder (the people doing “classic” development) have been left out.  There are also a number of enhancements in the “Classic” 32 bit IDE as well. We’ll cover some of those first.&lt;p&gt;&lt;a href=&quot;http://br.sys-con.com/node/1378117&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 02 May 2010 07:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://br.sys-con.com/node/1378117</guid>
</item>
</channel>
</rss>

