Welcome!

Agile Computing Authors: Liz McMillan, Pat Romanski, Richard Hale, Elizabeth White, Ed Featherston

Related Topics: Microsoft Cloud, PowerBuilder

Microsoft Cloud: Article

PowerBuilder Takes You To .NET

Preparing PowerBuilder applications for .NET Windows Forms deployment

After designating which PBLs you want to have the tool examine, you'll be able to print, save, and browse the Migration Assistant's analysis report. (Figure B)

You can now begin formalizing your Migration Plan.

The Migration Assistant is a great boon to the developer in that its discovery success rate is close to 100%, but you'll want to add a thorough quality assurance cycle to the tail end of that plan.
Once you believe you and your team are ready for the migration process, open the application in PowerBuilder 11. The Migrate Application response window will open. Verify your library list, choose your message notification level, select whether you want PowerBuilder to automatically convert DBCS string manipulation functions appropriately for unicode usage...this is the point of no return and your last chance to back up your PBLs...then click OK. (Figure 3)

Unsupported Features in Windows Forms Projects
In its 11.x time frame, PowerBuilder is a .NET deployment solution. That is, the developer isn't strictly working with .NET in the PowerBuilder IDE. (.NET in the PowerBuilder IDE is slated for version 12). As such, any application can use PowerBuilder features that are appropriate to Win32 deployments, but aren't supported yet or not appropriate for .NET deployments. (Figure C)

There are, however, those unsupported features that Sybase doesn't plan to support for .NET deployment such as non-visual classes for profiling and tracing. PowerBuilder developers will have to identify where in their applications they may be using unsupported features and then decide how they want to refactor the application to work around each feature. The next part of this article will cover identifying unsupported features in your application, yet I highly recommend at some point that you review Chapter 11 of "Deploying Applications and Components to .NET" in the documentation to become familiar with this reference for "Unsupported Features in Windows Forms Projects".

http://infocenter.sybase.com/help/topic/com.sybase.dc00586_1100/html/dplynet/CJAJHFGB.htm

Deploying Your WinForm Application
OK. It's time to deal with the nuts and bolts of features not supported for WinForm-deployed applications, so it's time to do our initial deploy! Since the thrust of this article is preparing your PowerBuilder application for WinForm deployment rather than the details of how to actually deploy it as WinForm, I'll refer you to the detailed external resources on just how to do that.
In the core document "Deploying Applications and Components to .NET," Chapter 9 "Deploying PowerBuilder Applications as .NET Windows Forms" takes you through the use of the .NET Windows Forms Application wizard.

http://infocenter.sybase.com/help/topic/com.sybase.dc00586_1100/html/dplynet/BABEEDAC.htm

There are also detailed recordings of deploying/publishing your WinForm application using .NET Smart Client techniques. Look for demonstrations of PowerBuilder 11's "Intelligent Updater" at www.sybase.com/products/development/powerbuilder/videos and at www.sybase.com/products/development/powerbuilder/webcasts.

The .NET Deployment Output Log
Once you've deployed your target as a WinForm, you'll want to examine the tabbed output logs in the PowerBuilder IDE. Exporting can save these logs and I highly recommend you do so.
Pay attention to the Default, Warnings, and Errors logs first. They arguably will have the most critical issues needing your attention. A text file named DeployLog.txt is generated with each .NET deployment in PowerBuilder 11. Besides aiding you with deployment errors it may be beneficial in helping you resolve any remaining configuration issues.

Now it's time to examine the Unsupported Features output log.

The Unsupported Features output log is populated the first time you deploy to WinForm and each subsequent time you choose to do a full rebuild. Of course, if after a deployment you add any features to your application that are unsupported, even an incremental rebuild should yield a populated output log. There's a lot of useful information in that output log, but I'm sure you'll agree that it'll take some effort to read through it in its raw form and continue to use it as a reference document as you formulate your Refactoring Plan. That's why the .NET Features Analyzer was recently introduced.

The .NET Features Analyzer IDE Add-in
The .NET Features Analyzer is available on Sybase's codeXchange Web site at https://powerbuilder.codexchange.sybase.com....

This tool was created in the 4GL tradition to provide you with a productive IDE for browsing the Unsupported Features output log.

The tool is an add-in to the PowerBuilder IDE. Once installed, open it from the File>New menu item in the IDE and select it from the Tool tabpage of the New response window. Use the tool to open a saved output log or tell it to import the log that may be open in the PowerBuilder IDE. .NET Features Analyzer lets you browse unsupported features by class and PBL. In its IDE, you may also examine the raw output log as well as any exceptions that are thrown. All of this may be printed and you may save the raw output from here as well. (Figure 4)

Formulate Your Refactoring Plan
So once you've identified the features in your application that aren't supported in a WinForm deployment, it's time to divide and conquer. Decide what workaround you'll use for each unsupported feature, how much time it'll take, what resources to assign, and estimate a time frame. In other words, you won't want to skimp in managing this as a formal project.

Some Caveats
A couple of caveats while you refactor your PowerBuilder application for WinForm deployment: 1) the functionality of the debugger for .NET deployment targets is different from Win32 deployments using pcode; 2) You may want to consider migrating to PowerBuilder 11.1 rather than version 11 to take advantage of the incremental compilation that was added. Otherwise your entire application will have to be compiled before you can see the runtime impact of the modification of a single line of code or even a minimal layout change in one of the visual painters. While the runtime speed is comparable to Win32 deployments, full build-and-deploy times for a library list of PBLs amounting to 150MB can take as much as a half-hour.

Additional Resources
Additional resources are available to aid you in this process. Besides the white papers and tech tips available from the support section of the Sybase Web site, there are technical articles in the PowerBuilder Developer Journal, the ISUG Journal, as well as the International Developer Magazine. The most notable supplemental resources in my opinion are the PowerBuilder newsgroups.

www.sybase.com/detail_list?id=11507&multi=true&SR=Y&show=1248

Sybase Newsgroups
The Sybase newsgroups are where your peers and a group of skilled volunteers (TeamSybase and Team iAnywhere) answer questions posted on a range of Sybase products and solutions. I can't think of a better place to get an answer to a question by a person who discovered the solution to the problem you're experiencing today...six months ago.

www.sybase.com/support/community-forums

The Most Productive .NET Developer
PowerBuilder isn't the first development tool to take you to .NET, but it's among the first. Sybase wanted to ensure that PowerBuilder users could take their applications and their components to .NET long before they had to. PowerBuilder ensures that you don't have to rewrite all of your applications completely from the ground up to take them to .NET...unlike some of its competitors have.

PowerBuilder 11's WinForm deployment capabilities take the PowerBuilder presentation layer application of your two-tier or n-tier solution to .NET today and preserves your standing as the most productive business application developer on the block.

More Stories By John Strano

John Strano is a Sybase Technology Evangelist and is a charter member of TeamSybase. He has been using PowerBuilder since 1991 and has authored articles for multiple industry periodicals. John has been a Sybase Certified Instructor and has presented Sybase tools on an international basis since 1997. Over the last 17 years John has developed a variety of PowerBuilder applications from single-user scaling up to enterprise-class, web-based projects.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
You think you know what’s in your data. But do you? Most organizations are now aware of the business intelligence represented by their data. Data science stands to take this to a level you never thought of – literally. The techniques of data science, when used with the capabilities of Big Data technologies, can make connections you had not yet imagined, helping you discover new insights and ask new questions of your data. In his session at @ThingsExpo, Sarbjit Sarkaria, data science team lead ...
Extracting business value from Internet of Things (IoT) data doesn’t happen overnight. There are several requirements that must be satisfied, including IoT device enablement, data analysis, real-time detection of complex events and automated orchestration of actions. Unfortunately, too many companies fall short in achieving their business goals by implementing incomplete solutions or not focusing on tangible use cases. In his general session at @ThingsExpo, Dave McCarthy, Director of Products...
Ask someone to architect an Internet of Things (IoT) solution and you are guaranteed to see a reference to the cloud. This would lead you to believe that IoT requires the cloud to exist. However, there are many IoT use cases where the cloud is not feasible or desirable. In his session at @ThingsExpo, Dave McCarthy, Director of Products at Bsquare Corporation, will discuss the strategies that exist to extend intelligence directly to IoT devices and sensors, freeing them from the constraints of ...
WebRTC is bringing significant change to the communications landscape that will bridge the worlds of web and telephony, making the Internet the new standard for communications. Cloud9 took the road less traveled and used WebRTC to create a downloadable enterprise-grade communications platform that is changing the communication dynamic in the financial sector. In his session at @ThingsExpo, Leo Papadopoulos, CTO of Cloud9, discussed the importance of WebRTC and how it enables companies to focus...
The best-practices for building IoT applications with Go Code that attendees can use to build their own IoT applications. In his session at @ThingsExpo, Indraneel Mitra, Senior Solutions Architect & Technology Evangelist at Cognizant, provided valuable information and resources for both novice and experienced developers on how to get started with IoT and Golang in a day. He also provided information on how to use Intel Arduino Kit, Go Robotics API and AWS IoT stack to build an application tha...
With an estimated 50 billion devices connected to the Internet by 2020, several industries will begin to expand their capabilities for retaining end point data at the edge to better utilize the range of data types and sheer volume of M2M data generated by the Internet of Things. In his session at @ThingsExpo, Don DeLoach, CEO and President of Infobright, discussed the infrastructures businesses will need to implement to handle this explosion of data by providing specific use cases for filterin...
Is your aging software platform suffering from technical debt while the market changes and demands new solutions at a faster clip? It’s a bold move, but you might consider walking away from your core platform and starting fresh. ReadyTalk did exactly that. In his General Session at 19th Cloud Expo, Michael Chambliss, Head of Engineering at ReadyTalk, will discuss why and how ReadyTalk diverted from healthy revenue and over a decade of audio conferencing product development to start an innovati...
So, you bought into the current machine learning craze and went on to collect millions/billions of records from this promising new data source. Now, what do you do with them? Too often, the abundance of data quickly turns into an abundance of problems. How do you extract that "magic essence" from your data without falling into the common pitfalls? In her session at @ThingsExpo, Natalia Ponomareva, Software Engineer at Google, provided tips on how to be successful in large scale machine learning...
Early adopters of IoT viewed it mainly as a different term for machine-to-machine connectivity or M2M. This is understandable since a prerequisite for any IoT solution is the ability to collect and aggregate device data, which is most often presented in a dashboard. The problem is that viewing data in a dashboard requires a human to interpret the results and take manual action, which doesn’t scale to the needs of IoT.
What does it look like when you have access to cloud infrastructure and platform under the same roof? Let’s talk about the different layers of Technology as a Service: who cares, what runs where, and how does it all fit together. In his session at 18th Cloud Expo, Phil Jackson, Lead Technology Evangelist at SoftLayer, an IBM company, spoke about the picture being painted by IBM Cloud and how the tools being crafted can help fill the gaps in your IT infrastructure.
"C2M is our digital transformation and IoT platform. We've had C2M on the market for almost three years now and it has a comprehensive set of functionalities that it brings to the market," explained Mahesh Ramu, Vice President, IoT Strategy and Operations at Plasma, in this SYS-CON.tv interview at @ThingsExpo, held June 7-9, 2016, at the Javits Center in New York City, NY.
"delaPlex is a software development company. We do team-based outsourcing development," explained Mark Rivers, COO and Co-founder of delaPlex Software, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Whether your IoT service is connecting cars, homes, appliances, wearable, cameras or other devices, one question hangs in the balance – how do you actually make money from this service? The ability to turn your IoT service into profit requires the ability to create a monetization strategy that is flexible, scalable and working for you in real-time. It must be a transparent, smoothly implemented strategy that all stakeholders – from customers to the board – will be able to understand and comprehe...
Traditional IT, great for stable systems of record, is struggling to cope with newer, agile systems of engagement requirements coming straight from the business. In his session at 18th Cloud Expo, William Morrish, General Manager of Product Sales at Interoute, outlined ways of exploiting new architectures to enable both systems and building them to support your existing platforms, with an eye for the future. Technologies such as Docker and the hyper-convergence of computing, networking and sto...
SYS-CON Events announced today that LeaseWeb USA, a cloud Infrastructure-as-a-Service (IaaS) provider, will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. LeaseWeb is one of the world's largest hosting brands. The company helps customers define, develop and deploy IT infrastructure tailored to their exact business needs, by combining various kinds cloud solutions.
The cloud market growth today is largely in public clouds. While there is a lot of spend in IT departments in virtualization, these aren’t yet translating into a true “cloud” experience within the enterprise. What is stopping the growth of the “private cloud” market? In his general session at 18th Cloud Expo, Nara Rajagopalan, CEO of Accelerite, explored the challenges in deploying, managing, and getting adoption for a private cloud within an enterprise. What are the key differences between wh...
It’s 2016: buildings are smart, connected and the IoT is fundamentally altering how control and operating systems work and speak to each other. Platforms across the enterprise are networked via inexpensive sensors to collect massive amounts of data for analytics, information management, and insights that can be used to continuously improve operations. In his session at @ThingsExpo, Brian Chemel, Co-Founder and CTO of Digital Lumens, will explore: The benefits sensor-networked systems bring to ...
SYS-CON Events announced today the Enterprise IoT Bootcamp, being held November 1-2, 2016, in conjunction with 19th Cloud Expo | @ThingsExpo at the Santa Clara Convention Center in Santa Clara, CA. Combined with real-world scenarios and use cases, the Enterprise IoT Bootcamp is not just based on presentations but with hands-on demos and detailed walkthroughs. We will introduce you to a variety of real world use cases prototyped using Arduino, Raspberry Pi, BeagleBone, Spark, and Intel Edison. Y...
Large scale deployments present unique planning challenges, system commissioning hurdles between IT and OT and demand careful system hand-off orchestration. In his session at @ThingsExpo, Jeff Smith, Senior Director and a founding member of Incenergy, will discuss some of the key tactics to ensure delivery success based on his experience of the last two years deploying Industrial IoT systems across four continents.
Much of IT terminology is often misused and misapplied. Modernization and transformation are two such terms. They are often used interchangeably even though they mean different things and have very different connotations. Indeed, it is somewhat safe to assume that in IT any transformative effort is likely to also have a modernizing effect, and thus, we can see these as levels of improvement efforts. However, many businesses are being led to believe if they don’t transform now they risk becoming ...