Search My Blog

Thursday, May 19, 2022

STD Framework - PowerBuilder 2021 to Java!

 

** New Feature **

STD Integrated Framework

PowerBuilder 2021 to Java Interoperability!


    Software Tool & Die Inc. are pleased to announce the release of the updated PowerBuilder to Java interoperability example application (PB2Java)! The updated PB2J example (2022R1) application is also built from the latest STD Integrated Framework (version 2022.2.0.185 released on 2021-01-16) and the newest Appeon PB2021 release (build 1509). Now the ability of a PowerBuilder native based application to "consume" a Java class and call its methods is even easier than before and totally encapsulated into the STD Integrated Framework for PB developer productivity!

    The PowerBuilder IDE since early 2000 has had the ability to call EJB (Enterprise Java Beans) due to the introduction of the Java based Application Server by Sybase named EAServer. With EAS came the ability to call a remote EJB in any J2EE based application server by using RMI (remote method invocation) that was exposed as the "Home" interface. The EJB Home Interface though can be either local or remote in nature. Thus when dealing with a native MS-Windows PB application that has Java classes deployed along side of it, we can use the local Home interface to interact with it from a PB application. This is, as long was we expose the Java application as an EJB (that is .. follow the EJB construction rules).

   When the Java developer creates a Java class, they can also create a Home interface or what PowerBuilder would refer to as an EJB "proxy". A Proxy is a Class/Method signature that allows PB to treat the Java application as a "bean". According to the generally accepted definition of a Java proxy is as follows: "A proxy class is a class that implements a list of interfaces". Since CORBA (Common Request Object Broker Architecture) support was added to PowerBuilder a long time ago - PB understands "proxies" very well. So if we can get your PB application a list of proxy classes it needs to deal with an EJB, it can then communicate with it. First of all, we can build a Java Class and then build a HOME interface for that using your standard development environment - even "notepad" for us poorer folk. Once completed, you can just compile the EJB class and its Home class using the JAVAC compiler, as follows:

  Now that we have an EJB and a Home class to serve as a "proxy" road-map for PowerBuilder, we can use the Classic IDE to build the necessary interfaces for us in a PowerBuilder Library (PBL) to use in our application. To perform this step, we need to call on the IDE's Project Painter to help us with this task. When creating a new project, we can then select EJB Client Proxy option. This will build a a PB Project object that can build all the necessary proxy interfaces for you. All we need to do is specify the Java Bean  class and its HOME (interface) class to the proxy painter. for example:

  Once the EJB Client Proxy project is properly configured, the next step will be to run the project, as follows:

    Now that we have the "proxies" required for the Java interface (Home) class, we can now instantiate the EJB by using its proxy in your PB Application. The only challenge beforehand, is loading the Java Virtual Machine (JVM) and activating its JNI (Java Native Interface) JDK to inter-operate with your Java EJB. Luckily, this is where the STD Integrated Framework steps in to help you. All you need to do is call a new "of_create_instance" method in the Application Controller supplied by the framework and it will perform all of the JVM the house keeping for you including: loading, reusing, unloading, garbage collection, etc of the PB to JVM infrastructure! So now the PB Developer can just concentrate on using the EJB's methods & processes, for example:
 
 
  To make this easier to follow, STD have created a working example of this PB to Java mechanism for you to examine, learn and move forward with your organizations Java interoperability within your PowerBuilder project. You can download the PB2Java example built from the STD Integrated Framework by clicking here!
   
Enjoy!

Regards ... Chris

Friday, May 6, 2022

STD Foundation Classes - PowerBuilder Cryptographic Example

** Hot News **

STD Foundation Classes

Updated CRYPTO Example Application released!


           Software Tool & Die Inc. are very pleased today to announce the release of an updated CRYPTO Encoding / Decoding example application for PowerBuilder, PowerClient and PowerServer2021. This latest release of the CRYPTO application is are all written in the latest PowerBuilder 2021 version and is also using the latest STD Integrated Framework (2022R2 Beta)  ... 
 


 
   The latest release of the Crypto example has had some major updates, as follows:
  • Built using PB2021 build 1509
  • Using STD Integrated Framework  v2022.2.0.185
  • Supports PB2021 Theme feature
  • Includes integrated Client & Server App logging
  • Incorporates MS-Windows notification utility
  • Deployment examples in 32/64bit and M-Code / P-Code
  • Tested the Crypto App code on W10 version 21H2 build 19044.1645
  • Tested the Crypto App on W11 version 21H2 build 22000.613
  • Ready for PowerClient or PowerServer 2021 deployment as well!


     Click here to download the example application source code!
 
Enjoy!

Regards ... Chris


Friday, April 29, 2022

STD Integrated Framework - PowerBuilder 2021 DDE Example!

  Hot News!

PowerBuilder DDE Application

Built using the STD Framework!

        Software Tool & Die Inc. are very pleased today to announce a new example application that demonstrate a fully working Dynamic Data Exchange (DDE) Client and Server application! This latest release of the DDE Client/Server applications are are all written in the latest PowerBuilder 2021version and are also using the latest STD Integrated Framework (2022R2 Beta)  ...


    In this original release, the DDE Demo Apps include the following features:

  • Built using PB2021 build 1509
  • Using STD Integrated Framework  v2022.2.0.185
  • Supports PB2021 Theme feature
  • Includes integrated Client & Server App logging
  • Incorporates MS-Windows notification utility
  • Deployment examples in 32/64bit and M-Code / P-Code
  • Tested the DDE code on W10 version 21H2 build 19044.1645
  • Tested the DDEcode on W11 version 21H2 build 22000.613
  • Ready for PowerClient or PowerServer 2021 deployment as well!

Actual DDE Client and DDE Server in action exchanging various messages & data!
 

    The deployed EXE's for the DDE Client and DDE Server are also included in the DDE App download. You can run either the Client or Server in mixed modes. For example a 32bit client and a 64 bit server (or vise versa), a P-Code client and an M-Code server (or vise versa), or any combination of the various DDE EXE's built from the STD Framework. The DDE features will work with any combination of the above EXE's. So this feature is just another tool in the PBToolBox that PB Developers can use to accomplish inter-application communication!

  You can download the new STD Framework DDE Demo App for PB2021 build 1509, as follows:

DDE Demo AppDownload 

STD Framework:  Download  (latest OrderEntry App using the Beta framework!)

   Enjoy ... please let me know what you think & if you have any feature suggestions that you might like me to add for future releases!

Regards ... Chris

 

\

 

 

Thursday, April 21, 2022

STD Integrated Framework - PowerBuilder 2021 BASE64 Example!

 ** Hot News **

STD Foundation Classes

Updated BASE64 Example Application released!

 

     Software Tool & Die Inc. today are very pleased to announce an updated Base64 Encoding / Decoding example application for Appeon PowerBuilder that was built from the latest STD Integrated Framework (version 2022.2.0.285 beta ) and the newest Appeon PowerBuilder PB2021 Maintenance Release release (build 1506. The min changes in this release are:
  • Migrated the code to PB2021 build 1506
  • Added "Theme" support for PB2021
  • Added "Corrupt" Base64 file handling check
  • Updated the BLOB processing feature (SQLAnyWhere v17)
  • Converted MessageBox() commands to STD Framework's "Message Box" feature. This allows a resizable message dialogue, automatic centering within the App and multiple monitor support.
  • Update the STD Framework to the latest version 2022.2.0.285
  • Tested the Base64 code on W10 version 21H2 build 19044.1645
  • Tested the Base64 code on W11 version 21H2 build 22000.613
  • Corrected GetFileOpen() bug
  • Added PowerClient App deployment project
  • Added PowerServer App deployment project

 
Base64 example from an ANSI text file!

     Base64 encoding and decoding is a critical  feature when processing XML and JSON files that contain binary datum. As well as using PowerBuilder's PBDOM feature, an XML DataWindow or interacting with Web Services that pass binary data back and forth (ie: JSON in a RESTFul web service). The received binary data will be in base64 encoded format - which is unusable to your PB application unless decoded (converted back) to its original binary state. Conversely, binary data that your PB application needs to send to other XML or JSON based applications must be converted (encoded) into the base64 standard.
 
PowerClient based Base64 example using Unicode text file!
 
Error handling for corrupt (incomplete) or wrong encoded Base64 files.


    The Base64 Example application utilizes standard Microsoft Base64 API's supplied by the MS-Windows O/S. These API's are now embedded in the framework's "nc_crypto_master" object class and easily called from your PowerScript code, as follows:
  • lo_crypto.of_base64_stringtobinary ( lblb_image , ls_base64 )

Base64 file translation into an image (or any other binary format for that matter)!
 

    The latest Base64 Example - along with the STD Integrated Framework is also able be used with PowerClient and PowerServer (Cloud) applications. Thus, the Base64 Example application can also be deployed to your favourite Web Server for convenient deployment. 
 
    You can download the Base64 Example application from the STD Framework's website by clicking here! You can also download either of the free open source STD frameworks for PowerBuilder, InfoMaker and PowerServer2021 by clicking here!

Enjoy!

Regards ... Chris
 

Thursday, April 14, 2022

STD Framework - PowerServer 2021 Console Updated!

 Hot News!

PowerServer 2021 Console Application

Built using the STD Framework!

        Software Tool & Die Inc. are very pleased today to announce an updated  version of the PowerServer Console (2022R1) application for use with the Appeon PowerServer 2021 App Server! This latest release of the PowerServer Console application that is all written in PowerBuilder 2021 and is also using the latest STD Integrated Framework (2022R2 Beta)  ...

    In the original release, the PS Console App could only monitor and if need be kill a PS2021 App "Session". Changes in this release also include:

  • Migrated the App code from PB2021 build 1288 to PB2021 build 1506
  • Replaced STD Integrated Framework from v2020.2.0.160 with v2022.2.0.185
  • 20% better performance using the 2022R2 framework!
  • PSConsole.Log file automatically deleted at EOJ (unless App errors out)
  • Incorporated new MS-Windows notification utility that is now multi-threaded
  • Updated the Theme files to PB2021 build 1506  
  • Tested the Base64 code on W10 version 21H2 build 19044.1645
  • Tested the Base64 code on W11 version 21H2 build 22000.613
PS Console App monitoring PowerServer "Sessions".
 

Tip:   The only tricky part of the coding for the PS Console App's RESTFul web service session interaction was that the PS "DateTime" comes back with Time Zone data attached in JSON format that unfortunately PB cannot handle JSON wise. So I had to strip the TZ information off in order to import the DT into a DWO's DT column type. However, PS's DT is GMT and thus the actual time is off compared to the PC's time. I will look into this deeper for the next release & try to compensate.

    One of the next new features in this PS Console release now allows you to see the API's within the PS2021 server itself by using the new API tab page. Note that the PS2021 Console's functionality is governed by the built-in exposed "internal" RESTFul web services within the PS2021 server itself. Check out the new API documentation feature display,  as follows:

PS Console displaying the RESTFul API's in  PowerServer 2021!

   The next new feature in the latest version of the PS Console is the ability to check the PowerServer's actual Heath. You can do this by selecting the new Health Tab in the PSConsole application, as follows:
New PowerServer Health check feature at work!

    I have also recently updated the STD Integrated framework to handle PS Server outages without crashing the running PB App running with PowerServer. This allows the App User and/or Support team to see exactly what happened in a PB/PS App failure when its related to a PS2021 issue, Network failure, Server not started, Killed session, etc type of failure.

 You can download the PS2021 Console and OrderEntry Demo App for PB/PS2021, as follows:

PS ConsoleDownload 

OrderEntry:  Download    (latest Beta)

   Enjoy ... please let me know what you think & if you have any feature suggestions that you might like for future versions!

Regards ... Chris

AscentialTest fully supports Appeon PowerBuilder!

The only solution supporting ALL PowerBuilder Items

What if you could test your application automatically
as often as you want?

AscentialTest by Zeenyx fully supports PowerBuilder

  • It can manipulate any PB item for testing, especially Datawindows.
  • Cut down testing costs and eliminate regression bugs at the same time!
  • Define your tests once and run them anytime
  • Implement Continuous Testing

 

Learn More

 

Try AscentialTest

 

Automate the tests of your
PowerBuilder, PowerServer, and PowerClient apps

user-friendly

1. Create tests by pointing & clicking on your PB objects

2. Run or schedule tests as often as needed

3. Generate test reports and find regression bugs

DON'T re-create your tests
when the UI changes

Tests rely on application objects, not on screen recordings.
When a new version comes up, you can reuse most of your tests.

 

AscentialTest


 

Saturday, April 9, 2022

STD Foundation Classes - PowerBuilder 2021 Script Commenter!

 

** Hot News **

STD Foundation Classes

PowerBuilder Script Commenter - Application update released! 

        Software Tool & Die Inc. today are very pleased to announce an updated  version of the Script Commenter (2022R1) application for the Appeon PowerBuilder 2021 IDE! This latest release of the Script Commenter application is also using the latest STD Integrated Framework (2022R2 Beta)  ...


PB 2022 IDE using the Script Commenter!

         The STD Script Commenter is a significant enhancement to the way a PB developer works productivity wise by easily allowing code comments to be added to any object class in the current object painter's PowerScipt or declaration areas! The Script Commenter is based on the original commenter application by R.C. Sizer but has been totally refactored to work much more efficiently with the STD Framework. The latest release includes the following new features ...
  • Migrated the App code from PB2019R2 build 2353 to PB2021 build 1506
  • Replaced STD Integrated Framework from v2020.2.0.160 with v2022.2.0.185
  • 20% better performance using the 2022R2 framework!
  • Commenter.Log file automatically deleted at EOJ (unless App errors out)
  • Tested the Base64 code on W10 version 21H2 build 19044.1645
  • Tested the Base64 code on W11 version 21H2 build 22000.613

Mapping the Script Commenter in the PB 2019 R2 IDE

    The latest Script Commenter is designed to work with any Unicode version of PowerBuilder (v10.x through 2021). It can be activated in any PB IDE by creating a toolbar short-cut icon and assigning to the Commenter's EXE as follows:

app path\ScriptCommenterXXX.exe  header
  - or -
app path\ScriptCommenterXXX.exe  block
  - or -
app path\ScriptCommenterXXX.exe  inline
  • where XXX = Compiled type 32M, 32P or 64P
Watch the video  (2022 version is the same!)

   The values added as a header, in-line or block comment area are located in the "Comment_Block.ini" file. This INI file can customized based on the values found in the "Comment_Template.ini" file to meet the exact needs of each PowerBuilder developer!
  
    You can download the new STD Script Commenter application from the STD Framework's SourceForge project's website by clicking here and then get more development productive in minutes!
 
Note: The previous Script Commenter versions are in the SourceForge's Archive sub-folder.
 
Enjoy!

Regards ... Chris

Wednesday, April 6, 2022

STD Integrated Framework - PowerBuilder 2021 Multi-Threading Example!

** Hot News Item **

PowerBuilder 2021 - Multi-threading Example!


    Software Tool & Die Inc. (STD) are pleased to announce the release of an updated STD Integrated Framework example application that utilizes the framework to implement Application multi-threading! The multi-threading feature inside PowerBuilder has been around since version 5.0 when the Distributed PB feature was first introduced. However, it is not a well documented and known feature of the development tool. The STD Multi-threading example goes even further by allowing applications to utilize the vast resources of Integrated framework while taking multi-threading to a higher functional level. The framework allows the PB developer to easily implement multi-threading and be more productive at the same time! 
 
    The updated Multi-threading example application now utilizes the latest STD Integrated Framework (version 2022.2.0.285 beta released on 2022-04-04) and the newest Appeon PowerBuilder 2021 release (build 1506). Improvements in this release include:
  • Migration App code to PB 2021 build 1506
  • Migration of the STD Framework from 2019R1 to 2022R2
  • Removal of all Appeon Web product code.
  • Better performance (20% improvement). 
  • Tested the Base64 code on W10 version 21H2 build 19044.1645
  • Tested the Base64 code on W11 version 21H2 build 22000.613
Note: The STD Framework is the only PB framework in existence that is both thread aware and multi-thread safe!


    The Integrated framework allows each thread to be monitored by the frameworks performance dialogue, write to the O/S Console, log a message in the main tread's application log, share DBMS access, send messages back & forth between threads or between the main thread and its sub-threads, introspect the O/S, etc - just to name a few interesting aspects. Messages may also now be written to the MS-Windows Event Log and MS-Windows Debug logs as well from each sub-thread!


  The latest STD multi-threaded PowerBuilder example application can now be downloaded from the SourceForge website. Please click here to download & enjoy!
  
  For a complete PowerPoint presentation on how Multi-Threading in Appeon PowerBuilder works, please click here to download this PPT presentation.
  

Regards ... Chris

Monday, March 28, 2022

STD Framework - Multi-Media App updated!

**  Hot news **

Multi-Media App updated for PB2021!


    Software Tool & Die Inc. are please to announce the release of its updated all PowerBuilder built MS-Window's Multi-Media Player example application all written in PowerBuilder 2021 - build 1506! This application demonstrates the power of using the STD Integrated Framework plus its new "vs_ole_media_player_master" object class. The latest application release was designed with the following in mind:
  • Updated to use the latest PB 2021 IDE - build 1506!
  • Updated the STD Integrated framework to the latest release (2022 R1)
  • Uses MS-Window's O/S "Notification" feature (via STD framework)
  • Updated to use the latest PB2021's Theme features. 
  • Can be run as an O/S System Tray application!
  • Tested the Base64 code on W10 version 21H2 build 19044.1645
  • Tested the Base64 code on W11 version 21H2 build 22000.613
  • Added new "Projects" to deploy as either a 64bit P-Code or 32bit M-Code App!
  • Added new "Projects" to deploy as either a 32bit or 64bit PowerClient App!
Media Player in action on an MP3 music stream

Media Player in action on an MP4 movie stream

     The Multimedia Player will allow local files to be played & viewed from your local machine. It is also designed to allow media data streams to be played and viewed from any valid URL across the internet. The MultiMedia Player supports the following formats: .MOV, .MP3, .MP4, .AVI, .WTV, .MID, .MKA, .MKV, .MV4, .WAV, .WMV, just to mention the main types. More music and video formats are also supported as well.
 
Use various media sources from your PC or across the internet!
 
 
    Your MultiMedia play list is also always at your finger tips using the STD Frameworks ability to add a User Object(s) to the main Menu Toolbar on an Main or MDI Frame.


   Unlock the "Power" in PowerBuilder applications by using the STD Integrated framework! The MultiMedia Player is just one example of building a PB application from this powerful all free & open source Framework! Click here to download the MultiMedia Player example application!
 
Tip: Use the "vs_ole_media_player_master" object class from the framework to add live application "how to" videos to your PB business applications! 

Enjoy ... Chris