Friday, December 20, 2013

PowerBuilder User Group Germany

These are my notes from the PowerBuilder User Group meeting in Walldorf Germany on December 3, 2013, originally posted on my personal blog site.

Robyn Chan - Senior Vice President - Head of Mobile Platform
Michael Redford - PMP Business Information Technology, Products and Innovation

PowerBuilder 15
  • 32 and 64 bit support
  • OData
  • SQL 2012
  • Oracle 12
  • Windows 8
  • .Net 4.5
  • Dockable Windows

Beta builds are ready now, but access to it is still being figured out.

  • PB 15+
    • Open APIs eg objects like ORCA, IDE infrastructure/painter, build process
    • Hana XSE support for PowerScript ( XSE is their JavaScript like app server language)
    • HANA Cloud (HEC, Neo AWS) and on premise options
  • Evaluating
    • RDL (River Definition Language) support for PowerScript (intermediate layer, platform agnostic)
    • WebApp Toolkit for multi-channel development (internal name - not announced yet, web based IDE, AppDesigner, AppBuilder, the latter was developed by the PowerBuilder team to create mobile apps, SAP UI5 -- HTML5)
    • Client SDKs for NVOs - Typical PB app is 30% business logic in the client.  The audience thought it was a lot higher.

PowerBuilder.Net versus PowerBuilder Client
  • Looking at trying to get into one IDE

Plan to support JavaScript in IDE
  • Yes, that was what support for XSE was intended to convey

EAServer - what happened to NetWeaver integration
  • Couldn't put on slide - Looking at migrating PASP to Netweaver - probably wouldn't focus on other app servers

What about support contracts
  • That's one of the big questions they're working on.   The other is that existing SAP customers have an S-user account.  They're trying to figure out how to automatically give people S-user accounts so they can access the beta without going through the S-user creation process.

More on the state of HTML5 development

Specifically with regard to mobile applications.  It's beginning to look like HTML5 may work well for desktop web, but native is more appropriate for mobile devices.
"The promise of HTML5 is you write once, run everywhere and this is not happening because of the divergence of browser features." HTML5 does not offer the performance and access to native features that a native app can.
"We're going to see HTML5 relegated to just a small portion of apps," including forms, content consumption and customer acquisition apps, said King. Native will be for everything else, 

Friday, December 06, 2013

More from the PowerBuilder User Group Germany

Here's a rather poor video of the discussion about SAP's commitment to PowerBuilder:



SAP recorded their own video using much better video and audio recording equipment than I used.  Hopefully they'll post it online somewhere as well later.

Also, on Wednesday during the workshop there was a short demonstration of PowerBuilder 15.  I've included screenshots of the new Classic (which will likely be renamed to Native):


And PowerBuilder.Net


Finally, here's a shot of the attendees on the first day, quite a packed house.



Thursday, December 05, 2013

More good news, PowerBuilder 12.5 and 15 are now showing up in the SAP downloads area

Looks like a work in progress.  But it's another sign that PowerBuilder is about to become an officially recognized product.  Thanks to Christoph Meken for passing along the info.

Also note the link for PowerBuilder 15!

Tuesday, December 03, 2013

PowerBuilder User Group Germany

Robyn Chan - Senior Vice President - Head of Mobile Platform
Michael Redford - PMP Business Information Technology, Products and Innovation

PowerBuilder 15
  • 32 and 64 bit support
  • OData
  • SQL 2012
  • Oracle 12
  • Windows 8
  • .Net 4.5
  • Dockable Windows
Beta builds are ready now, but access to it is still being figured out.
  • PB 15+
    • Open APIs eg objects like ORCA, IDE infrastructure/painter, build process
    • Hana XSE support for PowerScript ( XSE is their JavaScript like app server language)
    • HANA Cloud (HEC, Neo AWS) and on premise options
  • Evaluating
    • RDL (River Definition Language) support for PowerScript (intermediate layer, platform agnostic)
    • WebApp Toolkit for multi-channel development (internal name - not announced yet, web based IDE, AppDesigner, AppBuilder, the latter was developed by the PowerBuilder team to create mobile apps, SAP UI5 -- HTML5)
    • Client SDKs for NVOs - Typical PB app is 30% business logic in the client.  The audience thought it was a lot higher.
PowerBuilder.Net versus PowerBuilder Client
  • Looking at trying to get into one IDE
Plan to support JavaScript in IDE
  • Yes, that was what support for XSE was intended to convey
EAServer - what happened to NetWeaver integration
  • Couldn't put on slide - Looking at migrating PASP to Netweaver - probably wouldn't focus on other app servers
What about support contracts
  • That's one of the big questions they're working on.   The other is that existing SAP customers have an S-user account.  They're trying to figure out how to automatically give people S-user accounts so they can access the beta without going through the S-user creation process.


Friday, November 22, 2013

Haiti Missions Trip 2013

Friday, November 1st

Our flight doesn't leave until 9:30 PM or so, so we figure we'll leave at about 4:30 PM, giving us more than enough time to get to LAX by 6:30 PM, the 3 hour before flight time that American Airlines wants us there.  Of course, about 9AM we start hearing about the shooting at LAX.  For a while the airport is closed.  The airport opens a few hours later, but all of the roads leading into it are still closed.  People landing at LAX have to walk a couple of miles outside of the facility to get picked up, and people coming in have to walk in from several miles out.


Monday, November 11, 2013

Flight delays on return from Haiti

We were supposed to leave Port-au-Prince at 5:15PM on 11/9 and catch a 9:05 PM flight in Miami back to LAX getting in at just before midnight.

The plane that we were supposed to be taking out of Haiti arrived late, and we ended up missing our connection in Miami as we didn't arrive until 8:15.  That's touch down, it takes a while to the terminal and then get through customs.  I have Global Entry, so I largely skipped the customs part.  But the airline had switched the luggage tags on mine and Mark's luggage and I had everybody's luggage tags on me, so I ended up waiting for him and Luis anyway at baggage claim.


Tuesday, October 08, 2013

Well, I got one thing right anyway...

I commented in a PBDJ article a while back that:
That's when I had an epiphany. Windows 8 might actually make sense. It runs on both ARM and x86 processors. It has desktop and Metro (mobile) modes. It includes virtualization. Perhaps Microsoft is thinking ahead to a time when we don't need an operating system that can deploy to different devices, but an operating system that can deploy to a single device that has a number of different form factors.
Microsoft recently confirmed that is something that they are trying to accomplish.  Not specifically with Windows 8, but Windows 8 does seem to be a step in that direction.

Monday, October 07, 2013

A petition update and a new petition....

It's two weeks until SAP TechEd Las Vegas, and we've ready 1,891 signatures on the petition for SAP to take some action with regard to PowerBuilder.  That means we need 109 more to reach our goal by the beginning of TechEd.

Meanwhile, a number of people have expressed some concerns with one or both features of the current petition:

1.  That causes.com seems to require a Facebook account in order to sign the petition, and people don't want to create a Facebook account or link their existing one with the petition.

2.  That some of the proposed actions (i.e., sell the product or release it to open source) were more extreme than they felt comfortable signing onto.  Instead, they just wanted to urge SAP to proceed with the release of PowerBuilder 15 that everybody has been waiting for.

As a result of that feedback, I've created a second petition on change.org, one that does not require a Facebook account and which only urges the release of PowerBuilder 15.  I've also received translations of the text of the petition in German, Spanish and Japanese.  There is also a Hebrew translation in the works, but for now I've included a Google Translation generated version.  I'll replace that with the human generated version as soon as it's available.

You can access the new petition at change.org.  Please pass it along to those you know who haven't signed the first petition for some reason.

Saturday, September 14, 2013

No news is NOT good news....

Great post from Displaced Guy on the status, or lack thereof, of PB15.    A few items worth calling to attention and commenting on.

"I REALLY feel bad for Sue Dunnell, Bruce Armstrong and others at SAP who have an genuine interest in PowerBuilder and are class-act individuals but SAP is playing them like a violin like they are to us.  My displeasure with SAP is in no way directed towards any employee of SAP other than those who are responsible for the decisions at a very high level."

Perhaps it's just me, put the first sentence in this quote could imply that I work for SAP.  It references Sue Dunnel (who works for SAP), myself and "others at SAP".  They may be playing me like a violin, but I don't work for SAP.

"The reality is that to this day there really isn’t a perfect replacement for PowerBuilder and it is too bad that SAP doesn’t see this.  Moving a large complex PB application to any of the competing technologies is no trivial task and has proven to be extremely difficult and expensive with many failures (projects canned because they made no progress) when going to both .NET and Java.  The remaining legacy PB applications would cost millions to redevelop. There are some really huge, robust and mission critical legacy PB applications in the corporate world, one that comes to mind was developed by Perot Systems many years ago and is still used by many health care companies.  It would take years to redevelop at a cost in the millions.  The amount of time needed to redevelop in something like .NET would be much longer than the original application took.  Why are legacy PB applications so difficult to redevelop. One obvious answer is the datawindow or lack of a datawindow replacement which is what made PB one of the most capable tools for developing business applications."

Great points, the real crux of the problem, and the best summary of the situation I've seen to date.

"We are set to surpass rates of $100/hr (to the developer) as early as 2014 at the current pace, for a senior developer."


Well, they say ever cloud has a silver lining.  When I'm wearing my "somebody that has to find and hire PowerBuilder developers" hat this would be bad news.  But when I'm wearing my own "PowerBuilder developer" hat, it sounds pretty good to me.  ;-)


Monday, August 26, 2013

Update on the petition to SAP regarding #PowerBuilder

The petition for SAP to do something positive with regard to PowerBuilder is doing well.   We've just passed 1,500 signatures, which was the latest goal.  I've revised the goal to 2,000 signatures and changed the goal deadline to October 21st.  That's the first day of SAP TechEd in Las Vegas.  It is our intent to meet with SAP management at that event and provide them with the signed petition as well as additional information we believe may be able to convince SAP to take more interest in the product.

If you are a PowerBuilder developer and you haven't signed the petition yet, please do so and pass the information along to other PowerBuilder developers you may know that may not know about it.  You do not need a Facebook account to sign the petition.  Instead, you can create a causes.com account directly at:   https://www.causes.com/signup

Saturday, August 24, 2013

Using the Google Geocoding API from PowerBuilder.Net

I'm running a petition on causes.com, and I wanted to do some geographic analysis of the results.  Causes.com gives me information about the signers with regard to their name, email address, country and zip code.  The country information was useful for doing the first phase of the analysis, which I wrote about in the Lumira space.  However, I wanted to do a bit more fine grained analysis, and that means I needed to convert that zip code information into something more directly useful (e.g., city, county and state for the United States).  There's 1500 data points though, so I need an automated method.  Google Geogoding API to the rescue.


Saturday, August 10, 2013

How to compile and deploy a PowerBuilder Win32 application

The lastest video I provided for the SAP Database and Technology Academy.



I use the sample application (pbtutor) that comes with PowerBuilder for the demonstration.  I'm also using the PBR Builder utility that was shipped with PowerBuilder 5 and is available from Sybase's CodeXchange.  Note that I had to update it though, as PowerBuilder 5 used the PB.INI file to store information about targets and PowerBuilder 12.5 uses the repository.  The updated version of the utility is available from by PowerBuilder Samples folder on Google Drive.

Wednesday, August 07, 2013

Help convince SAP to take some positive action with regard toPowerBuilder

I've created a petition on causes.com for SAP to take some positive action with regard to PowerBuilder. I'ld like to invite you to sign that petition.

Thursday, August 01, 2013

What do you want out of the #PowerBuilder Developer’s Conference?

The following is an editorial that I originally prepared for the April edition of the PowerBuilder Developer's Journal.  The material is getting a bit dated, but I though some of it was worthwhile, so I'm posting it here.

Monday, July 08, 2013

Help convince SAP to take some positive action with regard toPowerBuilder

The post got dated incorrectly.  Here is the actual post.

http://brucearmstrong.wordpress.com/2013/08/07/help-convince-sap-to-take-some-positive-action-with-regard-to-powerbuilder/

Saturday, June 01, 2013

What we learn from history...

Is that we don't learn anything from history. -- Georg Wilhelm Friedrich Hegel

In October of 2007, SAP announced a deal to acquire Business Objects for 6.8 billion dollars. Three months later, Business Objects was renamed "Business Objects, an SAP company" allowed to run independently. After two years, Business Objects was completely assimilated into SAP and the products were rebranded as SAP Business Objects. The transition was not smooth however.

Friday, May 31, 2013

How to Use Pre-Compiled PowerBuilder.Net Assemblies

Another video I did for the SAP Database & Technology Academy.  For now I've uploaded to my own YouTube account, I'll update the blog when it gets posted in the Academy.

PB Assemblies are a new target type added in PowerBuilder.Net 12.5.  It addresses the need to be able to share framework libraries between PowerBuilder.Net targets (e.g., PFC).  Beginning with 12.1, it was possible to compile those framework libraries as a .Net Assembly, but that took a bit of work in order to resolve circular references and dealing with global variables.  With the addition of the PB Assembly, sharing framework libraries between PowerBuilder.Net applications became quite simple.

Credit has to go out to Yakov Werde, whose article in PBDJ on the topic was instrumental in helping me put the sample and the video together.


Saturday, May 18, 2013

More on HTML5 versus native mobile apps....

http://www.marketwatch.com/story/troy-apps-bets-it-all-on-native-apps-for-mobile-business-rejects-html5-2013-05-16

Take away quotes:

"Troy Apps Software ... sees the move to native apps by big players such as LinkedIn, Facebook and others as the beginning of a landslide movement away from the use of web-based HTML5 for successful mobile business strategies."

Microsoft versus the Developers...

I can't add anything to what is said here except perhaps to note that it's what Adobe did too.  Line of Business (LOB) app developers?  What LOB developers?  With that:

http://www.i-programmer.info/professional-programmer/i-programmer/5880-microsoft-v-the-developers.html

Tuesday, April 09, 2013

How To Develop PowerBuilder Apps In 64 bit

This is from a video I prepared for the SAP Database and Technology Academy.  Unfortunately, due to some personnel changes it hasn't been published there.  I'll update the link when it has.



Synopsis:

  • Currently only using the PowerBuilder.Net IDE, not available for Classic yet.
  • Must be using 12.5.1, the capability was added in that maintenance release.
  • You are actually compiling to either the x86 (32 bit) or AnyCPU (both 32 and 64 bit) target types.
  • If you aren't using ADO.Net for your database connections, you'll need to do so now.
  • If you are using System.Data.Odbc, then you need to make sure that you've created ODBC entries in the right area.  There are two separate ODBC managers and two different areas in the registries for 32 bit and 64 bit ODBC entries.
  • Web Services and .Net Assemblies will take on the bitness of the process that calls them.

Tuesday, March 26, 2013

Nice tool for Increasing memory for 32 bit apps on 64 bit systems

If you're still running 32 bit applications on a 64 bit operating system, you may know there are some options for increasing the amount of memory that the application can access.

Friday, March 22, 2013

Using the new Common Item Dialog from PowerBuilder

Starting in Windows Vista, Microsoft implemented a new common dialog control for selecting files or folders known as the Common Item Dialog





SelectFolder.PNG















Wednesday, March 20, 2013

Looks like a Windows Update / IE bug has resurfaced

My Internet Explorer started crashing immediately after I opened it after applying the latest Windows update.  Found the solution here.  That post was from 2011, so it looks like an old bug they just reintroduced.

 

Monday, March 18, 2013

Yet another software development company decides that HTML5 isn't worth the effort right now

Accounting software startup Xero ditches HTML5 in favor of native iOS and Android apps

The original blob post that article refers to:

Making mobile work

Their conclusion:  "[T]he lesson we’ve learnt over the last 12 months has been that the cost in time, effort and testing to bring an HTML5 application to a native level of performance seems to be far greater than if the application was built with native technologies from the get-go."

 

Tuesday, March 12, 2013

Looks like truth is stranger than fiction...

Microsoft announces that it will support Flash in Internet Explorer 10 on Windows RT and Windows 8 Metro, but not it's own Silverlight....

http://www.infoworld.com/t/microsoft-windows/microsoft-shuns-its-own-silverlight-while-embracing-flash-214335

Just a kick in the teeth for the Silverlight developers.

Monday, March 11, 2013

Creation and Consumption of Web Services with PowerBuilder - Part 2

The archive of the second of two of my PowerBuilder.TV webcast on the Creation and Consumption of Web Services with PowerBuilder is available.   The second webcast focused on providing WCF capability in PowerBuilder Classic by wrapping the WCF Client created in PowerBuilder.Net in a .Net assembly created in PowerBuilder.Net and then accessing that through a COM Callable Wrapper (CCW).

Note that a PowerBuilder.TV account (which is free of charge) is required to access the webcast.  It was a repeat of the session I gave at the PowerBuilder Developer Conference that was co-hosted with SAP TechEd 2012.  The sample code used as well as the PowerPoint slides are available on my Google Drive.

Monday, March 04, 2013

SAP D&T Academy - How To Use Third Party WPF Controls In The DataWindow

A video I did for the SAP Database and Technology Academy.  It demonstrated how to use third party WPF controls in the WPF DataWindow in PowerBuilder.Net.  It included a demonstration of using data binding between the third party control and the DataWindow data buffers.  For this particular sample, I simply used the ProgressBar control that is part of the .Net Framework.



The sample code used for the demo is available from Google Drive,

SAP D&T Academy - How To Use Third Party WPF Controls In Windows and User Objects of PowerBuilder

Another video for the SAP Database and Technology Academy.  This one is on using third party WPF controls in windows and user objects in PowerBuilder.Net.  For this sample, I used several controls available from the Extended WPF Toolkit.  The demo includes how to 'trust' the assemblies since they are downloaded from then internet and add them to the References for the project and Toolbox for the IDE.




The sample code used for the demo is available from Google Drive.

Thursday, February 28, 2013

Using .NET Assemblies with PowerBuilder

The archive of my PowerBuilder.TV webcast on Using .Net Assemblies with PowerBuilder is available.  This webcast demonstrates:

  • How to use non-visual assemblies in PowerBuilder Classic Win32 targets (any version) using COM Callable Wrappers (CCWs)
  • How to use visual assemblies in PowerBuilder Classic Win32 targets (any version) with assistance from theMicrosoft Interop Forms Toolkit
  • How to use non-visual assemblies in PowerBuilder Classic WinForm and WebForm targets using conditional code blocks
  • How to use non-visual assemblies from PowerBuilder.NET

Note that a PowerBuilder.TV account (which is free of charge) is required to access the webcast.  It was a repeat of the session I gave at the PowerBuilder Developer Conference that was co-hosted with SAP TechEd 2012.  The sample code used as well as the PowerPoint slides are available on my Google Drive.

Creation and Consumption of Web Services with PowerBuilder

The archive of the first of two of my PowerBuilder.TV webcast on the Creation and Consumption of Web Services with PowerBuilder is available.  The webcast examines some of the recent improvements in PowerBuilder 12.5 for the creation and consumption of web services, with emphasis on:

  • The new WCF client in PowerBuilder.Net
  • The new WCF service type in Powerbuilder.Net
  • The new REST client in Powerbuilder.Net

Note that a PowerBuilder.TV account (which is free of charge) is required to access the webcast.  It was a repeat of the session I gave at the PowerBuilder Developer Conference that was co-hosted with SAP TechEd 2012.  The sample code used as well as the PowerPoint slides are available on my Google Drive

The second webcast focused on providing WCF capability in PowerBuilder Classic by wrapping the WCF Client created in PowerBuilder.Net in a .Net assembly created in PowerBuilder.Net and then accessing that through a COM Callable Wrapper (CCW).  A link to that archive of that presentation will be provided as soon as it is available.

Saturday, February 23, 2013

Using PowerBuilder.Net Visual Components in WPF Browser Applications

In an earlier blog post I demonstrated how you can create visual components in PowerBuilder.Net and then use them from within Visual Studio (including the Express version that you can download free of charge from Microsoft).  What I created in Visual Studio for that demonstration was a WPF application, but there are other things you can do with PowerBuilder.Net visual components when you get them into Visual Studio.  One of those is to create a WPF Browser Application.

WPF Browser Application (also called 'XBAP', short for XAML Browser Application) is a method of running WPF applications within a browser and still maintain rich client functionality.  Think of it as the half way point betweenClickOnce (in which the application is simply distributed through the browser, but runs independently on the local machine) and SilverLight (where the application runs within the browser).  An XBAP application runs 'within' the browser to the extent that it uses it as the host that it displays in, so it appears to be a web application.  Like ClickOnce, it requires that the .Net Framework is was written referencing be deployed on the client, and will prompt the user to install it if it is not available.

In order to run XBAPs within Internet Explorer you must first customize one of the security settings to enable them.  The plugin that allows XBAPs to run within Firefox is distributed with .Net Framework 3.5.  Once it is installed, adding the location to it to the system path then enables Chrome and Opera to run XBAPs as well.  This site provides extensive details on getting the various browsers configured correctly.

XBAPs normally operate under partial trust.  However, depending on what your application needs to do you may need to elevate it's permissions to allow it to operate under full trust.  This site provides detains on enabling an XBAP to run under full trust.  For the sample app I used in that demo I needed to configure the XBAP to run under full trust because I wanted to do a binding redirect on the Oracle ODP.Net libraries and a binding redirect requires full trust.

Note that you will need to use PowerBuilder 12.5.1 (the maintenance release, not the original 12.5 release) in order to create the visual component.  One of the significant enhancements in that maintenance release was support forcompiling applications and components to support x64 and AnyCPU targets.  Assemblies created for use in XBAP applications have to target AnyCPU.

Having said all that, here's what the sample component looks like when compiled as an XBAP and then accessed via Internet Explorer:

internet_explorer.png

Here's the same XBAP being accessed from Firefox:

firefox.png
From Chrome:

chrome.png
And finally from Opera:

opera.png

Friday, February 01, 2013

Interfacing with the Google Data API from PowerBuilder.Net

Recently somebody asked me for help getting PowerBuilder.Net (and eventually PowerBuilder Classic through a COM Callable Wrapper) to interface with Google Calendar.  That actually turned out to be fairly simple because Google provides a .Net library for Google Data API which provides access not only to Google Calendar, but to a number of other Google services as well, such as Blogger, Contacts, Picasa Web Albums, Spreadsheets and YouTube.

We're going to see just how easy by accessing Google Calendar and retrieving our events for the next few days.  To do that, first download and install the Google Data API .net libraries (you only need the first one on the list).  Then create a PowerBuilder.Net WPF project and add references to the Google.GData.AccessControl, Google.GData.Calendar, Google.GData.Client and Google.GData.Extensions assemblies.