127 Modernizing ColdFusion apps (through evolution, not revolution) with Guust Nieuwenhuis
Release Date: 01/08/2023
ColdFusion Alive
Luis Majano and Brad Wood talk about “BoxLang modern JVM language that runs CFML code (new CFML engine and much more)” in this episode of ColdFusion Alive Podcast with host Michaela Light. “…BX is the acronym we use a lot like our file extensions are analogous to the cold fusion file extensions. So a CFM file, we call that bxm For box Lang markup, CMS, which Lucy six had his support for, which is cold fusion script”. Show notes What is BoxLang? A new language for the JVM that includes CFML Inspired by cool CF, Groovy, Rust, Go, PHP etc Compiles into Java byte code, just like CF A...
info_outline 139 All About Adobe ColdFusion 2023 (Part 2: PDF, CCS, SSO, perf, security) with Mark TakataColdFusion Alive
Mark Takata talks about “All About Adobe ColdFusion 2023 (Part 2: PDF, CCS, SSO, perf, security)” in this episode of ColdFusion Alive Podcast with host Michaela Light. “…So we decided to build this thing called CCS central configuration server. And it runs at the command line, basically, and allows you to control your servers from a central location.”. Show notes Enhanced HTML-to-PDF Conversion New HTML-to-PDF conversion engine Supports new CSS features for pixel perfect PDFs Imbed audio, video and SVG Old tags features for manipulation of PDFs and forms etc still work Increased...
info_outline 138 All About Adobe ColdFusion 2023 (Part 1: containers, GCP, GraphQL, JWT) with Mark TakataColdFusion Alive
Mark Takata talks about “All About Adobe ColdFusion 2023 (Part 1: containers, GCP, GraphQL, JWT)” in this episode of ColdFusion Alive Podcast with host Michaela Light. “…So we support Google's version of Pub Sub. And it's fairly simple. You know, you've got a you've got someone creating a message. You've got a subscriber that you can create to listen to that message, messages of contact message that I gaze at It just have, you know, timestamps and things like that”. Show notes In this episode, we look at all the Adobe ColdFusion 2023 new features with the Adobe CF evangelist, Mark...
info_outline 137 ColdFusion Oracle Cloud Migration with MySQL (from VPS) with Scott StrozColdFusion Alive
Scott Stroz talks about “ColdFusion Oracle Cloud Migration with MySQL (from VPS)” in this episode of ColdFusion Alive Podcast with host Michaela Light. “…And the difference between Oracle clouds version of the manage the managed MySQL database is that in Oracle Cloud, it's Enterprise Edition. So if you are using MySQL heatwave in Oracle Cloud, you're actually using Enterprise Edition”. Show notes What is Oracle Cloud? Oracle cloud services like AWS, GCP, Azure etc Servers, Storage, MySQL, AI etc OCI = Oracle Cloud Infrastructure How does it differ from AWS, GCP, Azure etc? Robust...
info_outline 136 Into The Box 2024 (all the details and speakers) with Jorge ReyesColdFusion Alive
Jorge Reyes talks about “Into The Box 2024 (all the details and speakers)” in this episode of ColdFusion Alive Podcast with host Michaela Light. “...But it's just those aha moments where, Hey, I didn't know you could do that. So you can actually, when you go back home and do your job, then you can actually worry about looking more into it and implementing it. So that's kind of the idea behind all the sessions, actually.”. Show notes What is Into The Box conference? Is it only for Box products topics? No - lots of CF topics, not just Box products Do not have to use ColdBox framework...
info_outline 135 Lucee Migration (8 CFML code moving tips) with Mike ChytráčekColdFusion Alive
Mike Chytráček talks about “Lucee Migration (8 CFML code moving tips)” in this episode of ColdFusion Alive Podcast with host Michaela Light. “...but we had migrated everything over and all new clients went to Lucy all new applications went to Lucy. And within I'd say maybe two years, we had probably 95% of our clients might get it off, some clients still required it”. Show notes What is Lucee? Why did you migrate to Lucee? 2018 switch from ACF to Lucee Adobe Licensing fishing call and new licensing model per application with $10ks extra cost. “SaaS” due to Mura Per core...
info_outline 134 ColdFusion Legacy app - Is a Refactor Better than a Rewrite? with Denny SpringleColdFusion Alive
Denny Springle talks about “ColdFusion Legacy app - Is a Refactor Better than a Rewrite?” in this episode of ColdFusion Alive Podcast with host Michaela Light. “Refactoring is a way of taking in modernizing code that already exists, and bring it up to speed with generally modern best development practices. So you know, some object orientation, data modeling type of thing, as well as you know, either using a framework or building an application framework yourself, that hits all of the major obstacles that are that a framework will do for you generally.” Show notes Why is refactoring vs...
info_outline 133 GitHub Copilot & AI-Assisted Coding (Unlocking ColdFusion's AI Potential) with Monte ChanColdFusion Alive
Monte Chan talks about “GitHub Copilot & AI-Assisted Coding (Unlocking ColdFusion's AI Potential)” in this episode of ColdFusion Alive Podcast with host Michaela Light. “It is an AI pair programming tool. So this helps test your programming that basically, there's another person but in this case is a AI tool, if you will, so but you will be doing most of the typing. But then that will also give you some code suggestions, if you will. And to help you with coding. So sometimes can be a short one liner, or could be one whole block of codes. So you can save a lot of typing.” Show notes...
info_outline 132 ColdFusion Hosting options with Dakota Clum and Ryan BrownColdFusion Alive
Dakota Clum and Ryan Brown talk about “ColdFusion Hosting options (what to consider when choosing a CF host)” in this episode of ColdFusion Alive Podcast with host Michaela Light. “……you shouldn't have to be trapped with one hosting option or one provider. So when we think about the AWS are the answers of the world, when there's a need for those specific resources are specific tooling and libraries, we want to be able to support that. So, to your point, there's no kind of lock in, or anything like that you shouldn't do one or the other, you should keep all the options open to you.”...
info_outline 131 Lucee 6 with Gert Franz, Charlie Arehart, Ben Nadel, Mark Drew, Zac SpitzerColdFusion Alive
Gert Franz, Charlie Arehart, Ben Nadel, Mark Drew, and Zac Spitzer talk about “Lucee 6” in this episode of ColdFusion Alive Podcast with host Michaela Light. “Welcome to the podcast. We’re coming here live from CF camp in Munich, Germany. And we are going to be talking about Lucee 6, the new release of Lucee CFML. And we’ve got some amazing experts here. Mark Drew who's done a lot of Lucee coding at distro kid. Then we’ve got Charlie Erehart, the ColdFusion troubleshooting expert giving an independent view on Lucee. Then we’ve got Ben Nadal all the way from New York City. And...
info_outlineGuust Nieuwenhuis talks about “Modernizing ColdFusion apps (through evolution, not revolution)” in this episode of the ColdFusion Alive Podcast with host Michaela Light.
"We're going to be talking about modernizing your legacy ColdFusion apps through evolution and not revolution. And we'll explain what that means."
Show notes
Why not rewrite legacy apps?
-
- A feeling (to rewrite) isn’t sufficient
- Hot language
- Blame the tech stack not the architecture, CTO or the dev team
- Dev phrases
- Only my language
- Only rewrite not refactor - belief than is harder to recode than rewrite
- Tech > business
- Delays release
- Adds risk of project failure
- Lack of written business rules
- More bugs and less functionality
- Expensive
- “Rewrite code from scratch is the single worst strategic mistake that any software company can make” - Joel Spolsky cofounder of Stack Overflow, Fogbugz and Trello
- A feeling (to rewrite) isn’t sufficient
Do nothing option
-
- Build up tech debt
- Increase security risk footprint month by month
- User dissatisfaction grows
- It works after years of tweaks and bug fixing and real world use
Refactor instead
-
- Keep database the same
- Incremental improvements vs waterfall
- Agile
- Just in time refactor improvements - surgical micro rewrite
- Refresh front end with JavaScript frameworks such as React, Vue
- Business case driven
Legacy issues
-
- Spaghetti code
- Hard to follow
- Hard to change
- Poor naming conventions for functions, include and CFC files and variables
- Poor variable scoping (global variables can be overwritten and are generally dangerous
- Hardcoded “magic” values
- Deadwood code
- Security issues due to…
- Old framework
- Unsupported libraries
- Deprecated integrations
- No test plan or automated tests
- Not documented
- Hard to maintain or add new features
- Performance issues
- Adding features
- Spaghetti code
Better architecture
-
- API exposure for mobile app or partners
- Encapsulate functionality
- Set a boundary
- Microservices
- Vs Monolith
- Specialized CF Engine package management to remove unneeded CFML features for fast load and running.
- Strangler Fig Pattern
- Anti-corruption layer
- Document architecture decisions in JIRA
- Magic numbers to static variables
- Wrapper functions
- Event driven architecture
Code trauma and political reluctance
Same habits, same mistakes!
Read more
-
- Eric Evans domain driven design
- Martin Fowler blog and books
- Strangler Fig Pattern
- Anti-corruption layer
- Ben Nadel Feature flags
- Links below
Going CFCamp in June
Mentioned in this episode
- His CF Summit preso
- Joel Spolsky article and quote Things You Should Never Do, Part I
- Eric Evans domain driven design
- Martin Fowler blog and books
- Strangler Fig Pattern
- Anti-corruption layer
- Ben Nadel Feature flags
Bio
Guust Nieuwenhuis
Guust Nieuwenhuis is a Full Stack Web Wizard with experience in a wide range of technologies. Over the last couple of years, he has been involved in projects for various clients like the European Commission, NSHQ (NATO), Adobe, AS Adventure Group, NS (Dutch railways), CZ Groep, Proximus, Avery Dennison and Mediagenix.
Through We Are North, we do 'Customization-As-A-Service'. We don't build from scratch: we find the best solutions out there and tailor them to our customers' business needs. In doing so, we never lose sight of the goal of the client.
In his free time, he plays the double bass and drums, crosses the forest on his mountain bike and coaches the youth at their local football club (where he is a board member as well). He likes spending time with his wife and two kids or meeting friends for a chat, game or drink.
If he still has some time left, he mainly spends it behind his computer to fulfill his hunger for the latest trends in IT.
Links
- Guust Nieuwenhuis | LinkedIn
- Website We Are North
- https://www.masacms.com
- CFML slack channel DM
- [email protected]