FMPDUDE-VIDEO: Creating a micro-service in a couple minutes (with FMP example)

I created a quick video showing how utterly simple it is to create a "hello world" (that is, a starting point on which to build other methods) micro-service. The "sparkjava" framework, and the IDE shown (Intellij IDEA - Community Edition) are totally FREE.

7 Likes

Great stuff. Straightforward method!

1 Like

That would be a great topic for your curated collections :smiley:

Maybe you could set that up for me? :slight_smile:

2 Likes

Hello,
Vidéo link is not working anymore. Anyway to repost ? Thanks

2 Likes

@anon45965781
the link doesn't work. If the video isn't very large try uploading it here or to put it on YouTube and put the new link here please.

The link had timed out. Updated now.

I would request that you please leave your comments after viewing the video so I can improve it or offer additional videos.

Thanks!

4 Likes

@anon45965781

Hello,
Thanks for the updated link !

A few ideas for further videos:

I am not sure that I am so confident with Java... so would it be possible to make one to make a microservices with Python.

And also, how do you deploy a python microservices (i.e. versus with java easy to produce a .jar file) ?
Your old tutorials are not completely accessible anymore... see for instance here no pictures...

I am personaly not so confident with programming (yet ?) and I think that a few real examples would be good especially to explain how you transfer Filemaker data to the microservice and back (i.e. files)...

Anyway thanks for your explanations ! Microservices look great !

4 Likes

Great questions!

Yep, you're right about Python. No nice "JAR" file equivalent that I know of. There are some file approaches for bundling python apps, but nothing that I've found that approaches Java. However, I use python mostly for machine learning and scientific applications. Java web services are good for lots also, but as you noted, Java rocks when it comes to packaging (JAR, WAR, EAR, as examples).

Python is fine for web services if you can live with the bundling limitation. Flask is a super nice framework, if you prefer Python, and there are good books and other resources for it.


To your other point.... I updated one of the services that had also timed out. This one

Creating a new method (aka, function) in a SparkJava micro-service

This video shows you how to create a GET method in the sparkjava framework and then use FileMaker to process it. A POST method can be more challenging depending on what you're doing. I'll be glad to help you with your efforts if you post your code so others who may be interested can follow along.

Also, check out the documentation on the sparkjava.com site itself. Lots of usage examples there.

My advice would be to pick something that would be useful for you. On the "other" forum (FMI, LOL), I had posted FMP examples for the examples you see below. I didn't post the Java code since I didn't want to get yelled at by folks with.... "This is a FileMaker forum!", or whatever.

Micro-service Examples Using FMP

Some of these examples are doable in FileMaker and others are not. Some examples could possibly be with a plug-in (with the plug-in limitations: only for FileMaker, the plug-in expense, the license agreement, and, mostly, for the inability for the user to change the code themselves). Some examples show much higher performance over FMP, if performance is a non-functional requirement you have.

Perhaps the list of things I posted there could be helpful in helping you jump in with an initial project idea.

And just yesterday, I posted an example where I converted an ISO date to American for FileMaker's ExecuteSQL which, although it outputs ISO dates in a query, it can't use them as input! (ExecuteSQL, still just for SQL SELECT still feels half implemented after 6 versions).

ISO To American

FileMaker's JDBC is another thing to take a look at. JDBC is a standard, so it's supported by all relational DBMS vendors (Oracle, Microsoft, H2, ... you name it). FMI has a reasonably good JDBC driver though not everything is implemented, some things are like database transactions. FMI even has a programmer's reference manual for ODBC/JDBC. Just don't use the FMI Java example listed. Even FMI says about their own code example: "it's not meant to be complied" Huh? That's baffling since it seems they could come up with one actual working example that was ... "meant to be compiled", but fortunately there are thousands of examples online.

And, if you avoid proprietary SQL extensions, the JDBC code you write for FileMaker (or other database) can often be migrated to another database with few changes (again, since JDBC is a standard).

So, take a look at the ideas above and just jump in! Let me know if you have questions. And, stand back for the incredible speed increases you will see. An example would be the new FMI (S-L-O-W) "while" statement. Using a micro-service (just Java, really), I easily got 400X faster performance.

Looping is another area where a micro-service will knock the socks off FMP's performance.

Many folks just use FileMaker for CRM type applications, however, possibly with not that much data either, where these speed differences I noted above wouldn't be so readily apparent.

Thanks very much for your reply!!!! :slight_smile:

2 Likes

The video no longer exists. Is there any way I can be sent that video file I'd really like to see it.

1 Like

@anon45965781 Would you please host the video here so it never expires , thanks!

1 Like

Would you please tell me what you're trying to accomplish?

I'll re-post the video this weekend if I have time. :slight_smile:

Thanks

I’m just trying to learn that new skill but there aren’t many resources on it.

Check the link at the top. I updated it with the current video.

If you use Firefox, the video starts right away. Other browsers have different behaviors (like downloading the whole video first).

There is a bit of a learning curve, but you would expect that with anything new.

Please feel free to ask questions.

Happy Coding! :slight_smile:

I posted the link to the currently-updated video above.

Thanks, C.