Friday, July 26, 2024

What Rhymes with IBM i ? - FastAPI

Has your team ever wanted to quickly create a web API that can access data from your IBM i or integrate with your other internal or external business systems? Or possibly you need to be able to call IBM i programs and procedures from another platform. One of the fastest ways I have found to create Web APIs is by using the Python based FastAPI framework.

With FastAPI you can simply define routes and business logic for your APIs and start testing them very quickly. I use FastAPI a lot as a first stop for prototyping API calls that I may be using in other languages.

As a first introduction to FastAPI take a look at the Python FastAPI Mock Server GitHub project I created. You can set up the server and start utilizing any CSV or JSON file as a data source for API testing. 

Give it a spin and let me know what you think: https://github.com/richardschoen/fastapimockserver

You'll be up and running with FastAPI in a matter of minutes. Have fun.

And if your team needs affordable training, mentoring or integration services for creating and implementing web APIs for your IBM i and other business systems, reach out and let's talk about your API pain points. Your team and systems will be API-enabled in no time.

Web Site: https://www.mobigogo.net

Email: info@mobigogo.net

Wednesday, July 24, 2024

Mobilize and Modernize Your Paper Based Workflows

Picture your team working seamlessly, free from the constraints of paperwork and outdated green screen or desktop apps. By adding a mobile app and modernizing your IBM i, Windows, Linux or Mainframe platform processes, you can increase efficiency, lower costs and empower your workforce to focus on what truly matters. Getting work done and keeping customers, vendors, and employees happy.

Mobile apps can serve a variety of useful purposes such as: attracting new talent and improving productivity and cashflow across the organization for different industries and scenarios.

Here are some good use cases for mobile apps: 

Field Service Management: Mobile apps can enable field technicians and delivery drivers to receive job assignments, update work status, access manuals or technical documents, and communicate with the back office in real-time.

Logistics and Supply Chain: Mobile apps can track shipments, manage inventory, provide route optimization for delivery drivers, and enable real-time updates for customers regarding their orders.

Manufacturing and Warehouse Management: Mobile apps can streamline inventory management, track production schedules, perform quality inspections, and manage equipment maintenance.

Sales Enablement:
Sales teams can use mobile apps to access customer information, update CRM systems, generate quotes or proposals, and even process orders directly from the field.

Retail and eCommerce:
Mobile apps can enhance the shopping experience by allowing customers to browse products, make purchases, track orders, receive personalized offers, and provide feedback.

Real Estate and Property Management:
Real estate agents and property managers can use mobile apps for property listings, scheduling viewings, virtual tours, client communication, service requests, payments and document signing.

Financial Services:
Banking apps allow customers to check account balances, transfer funds, pay bills, and manage investments securely from their mobile devices.

These are just a few examples, but the versatility of mobile apps makes them valuable tools across every industry for improving efficiency, enhancing customer experience, and enabling better communication and collaboration.

Reach out today to discuss your needs and learn how your business can mobilize, modernize and maximize your existing systems without ripping and replacing your existing apps.

Ask about the Affordable Mobile App service which allows your team to visualize what a new app would look like in your environment and calculate the real business value and ROI before you commit to a mobile app project. 

Web Site: https://www.mobigogo.net
Email: info@mobigogo.net


Sunday, July 21, 2024

Use Jasper Reports to Create Business Reports and Queries

If you're an IBM I or Java platform developer who was using DB2 Web Query or just looking for a nice report and form creation tool to create reports for your IBM i, you should consider learning Jasper Reports.  Check out the IBMi Jasper - https://github.com/richardschoen/ibmijasper project for using Jasper Reports from your IBM i system. 

Please don't hesitate to contact us regarding assistance with learning and creating reports and forms using Jasper Reports. We can also arrange training sessions on report design if you're interested in mastering Jasper Reports. Reach out to info@mobigogo.net for more information.

 



Thursday, July 18, 2024

Upgrade Windows 11 21H2 to 23H2

 If you are a Windows 11 user and started with it early on you may not know that the initial version of Windows 11 - 21H2 is almost out of support. 

When you want to upgrade to latest Windows 11 build, you're faced with the choice to upgrade to Windows 11 23H2 or newer by upgrading or reinstalling Windows 11.

Check the following video link for steps on how to download the latest Windows 11 23H2 ISO and upgrade your Windows 11 verion in place, even if your hardware is not supported. 

How to Upgrade to Windows 11 23H2 from 21H2 or 22H2 on Unsupported Hardware
https://youtu.be/U8dPFaPprSY?si=udGDw_831lqenq4m

Essentially the steps are as follows
The video basically has you edit this file with notepad:
C:\Users\richard\Desktop\WIndows11-23h2\sources\appraiserres.dll

Select All text, delete contents and save file. It should be 0 bytes now. 

The hardware check will get skipped next time you run install.

**NOTE: Make sure not to allow automatic downloads. Change to "Not right now".
Downloads updates AFTER the install or upgrade and it should work fine.


Sunday, June 23, 2024

Backup and Restore PostgreSQL Databases from Command Line

 If you are using PostgreSQL on Windows, Linux, MacOS or IBM i, it's not super obvious how to back up your database on a regular basis. 

The following how-to article I created on GitHub will help you to back up and restore your PostgreSQL databases if PostgreSQL is a part of your database environment. 

Click the following link to view the article. Enjoy and let me know if you have any PostgreSQL questions.

Backup and Restore PostgreSQL Databases from Command Line


Wednesday, June 19, 2024

Running JasperReports from IBM i

For any of you looking to do reporting from IBM i. I created a wrapper around Pete Helgrens RPG Report Generator Java code that can execute Jasper Reports from IBM i. 

I have done work with Jasper Reports since 2007. JasperReports has a bit of a learning curve but well worth it if you learn to build reports and documents with it. 

This wrapper is IBM i specific, but Jasper can be used anywhere to generate reports. Have fun.
https://github.com/richardschoen/ibmijasper

Tuesday, May 21, 2024

Configure NGINX with specific user without user needing *ALLOBJ Authority

User was seeing the following error in their NGINX log file when trying to start or restart the NGINX server via:

Errors showed up in the log file in file: /QOpenSys/var/log/nginx/error.log

Accessing error.log from 5250 command line:
WRKLNK '/QOpenSys/var/log/nginx/error.log'

2024/05/21 13:00:46 [notice] 3215038#1: signal process started                 
2024/05/21 13:00:46 [alert] 3214934#1: recvmsg() failed (13: Permission denied)
2024/05/21 13:00:46 [alert] 3215039#1: recvmsg() failed (13: Permission denied)
2024/05/21 13:00:46 [alert] 3215041#1: recvmsg() failed (13: Permission denied)
2024/05/21 13:00:46 [alert] 3215042#1: recvmsg() failed (13: Permission denied)

This seems to be related to setting up an appropriate user profile to run the NGINX server and threads under.

By default the main thread user will be the user who started the NGINX server. And worker thread jobs run under user profile: QTMHHTTP by default.

What we want is for the main thread and worker threads to run under the same user profile. See the following GitHub article for a resolution: https://github.com/richardschoen/howtostuff/blob/master/nginx-ibmi-without-allobject-auth.md


Saturday, February 03, 2024

Update IBM i System Time with Python

I just completed a nice example of integrating IBM i system commands with Python when you have a need to update your system time. The IBM i has a built in time sync, but in my case some of the firewalling services I used get in the way so I needed a way to update on demand via an NTP time server. And Python didn't disappoint. 

Check out this link for the Python code example:    
https://github.com/richardschoen/PythonSamples/blob/master/ibmi/ibmintptimeupdate.py