Welcome!

Helping Developers Master PowerBuilder Classic and .NET

Yakov Werde

Subscribe to Yakov Werde: eMailAlertsEmail Alerts
Get Yakov Werde via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories by Yakov Werde

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. Figure 2... (more)

RESTful Web Services: A Quick-Start How-to Guide - Part 1

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. Introduction 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 W... (more)

Refactoring Classic PowerBuilder Applications Using TDD and pbUnit

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 ... (more)

There's a Hole in the Bucket, Dear Liza, Dear Liza

Did you sing this little ditty when you were a wee laddie?  (In case you don't know the song, you can find the words and tune here (http://www.songsforteaching.com/folk/theresaholeinthebucket.htm). These words came to my mind after discovering a small hole in the migration process.  Let me describe it to you. In the Classic PowerBuilder IDE, when you have classes in an inheritance relationship, the painter shows ancestor public and protected instance variable on the General tab of the descendent class.  Figure 1 shows what you might see when a Boolean ib_flag is declared in an a... (more)

Vendor Independent Data Access in EAServer 3.6.1

It's well known that Sun Microsystems' Enterprise JavaBean (EJB) specification is an industry-standard, vendor-neutral, portable architecture for middle-tier transactional components. In an industry starved for standardization, both the server vendor and the development community have embraced EJB. Sybase is a leading member of the J2EE consortium. Sybase's EAServer version 3.0 supported EJB 0.4, version 3.5 supported EJB 1.0, and the recently released J2EE-compatible EAServer version 3.6.1 supports the latest EJB 1.1 specification. The EJB 1.1 specification offers many enhanceme... (more)