“Ang Mabagal na Release ng Apache Camel”
Mga taong 2017 nang sumali ako sa grupo ng mga engineers na gumagawa ng mga solusyon para sa interprise integration. Ang ganitong uri ng mga solusyon ay nasa labas ng set ng mga design patterns sa regular na software development o yung mga nakasanayan na sa industriya. Kung sa normal na software development ay gumagamit ng mga design patterns, sa enterprise integration naman ang katumbas nito ay ang tinatawag na enterprise integration patterns.
Sa normal na software development tulad ng paggawa ng isang software para sa end to end communication, o di kaya ay software para sa ATM machine ng isang banko, o isang reservation system sa airlines o kahit pa ang flight tracking software, o di kaya ang mga embedded systems na nag momonitor ng temperatura sa isang hardin, at marami pa ay mga software na dinisenyo mula ground up na naka integrate ang mga ito sa mga upstream at downstream systems mula simula pa. Halimbawa, ang pag konek ng mga ito sa sensor, sa database, at pagtawag ng mga ito sa mga external na systems. Matapos gawin ang mga ganitong sistema ay hindi na madaling baguhin pa ang mga ito upang komonek sa iba pang mga sistema sa labas na hindi sakop ng kanilang orihinal na requirements. Kung kakaunti lamang ang mga ganitong sistema sa isang ecosystem ay akma pa na baguhin ang mga ito o di kaya ay gumawa ng mga bagong sistema sa ibabaw ng mga ito.
Sa software development na patungkol naman sa enterprise integration, ang mga ito ay hindi tulad ng mga paggawa sa mga normal na software. Ang problemang nilulutas ng enterprise integration ay upang ikonek ang maraming mga sistema sa isang ecosystem na madalas ay enterprise, ng hindi akma o wala sa kanilang orihinal na requirements. Hindi na kelangan pa baguhin ang isang software at magagawan ng paraan na maikonek ito sa ibang mga sistema. Halimbawa ay may information system sa HR at integrated na ito sa Finance IS simula pa ng gawin ito ground up ngunit may bagong software na kinuha ang isang kumpanya patungkol sa pag kalkula ng oras ng trabaho at taxes ng mga trabahador sa labas ng bansa at dahil dito ay kelangan iintegrate ang Finance IS at ang HR IS sa bagong software na ito. Hindi na kelangan pa gumawa ng bagong version ng software na ito upang ma integrate sa Finance IS at HR IS. Gagawa ang isang engineer ng solusyon para dito gamit ang Apache Camel at gagamitin ang mga existing na mga EIPs nito at makokonek ang bagong software sa Finance at HR ng hindi binabago ang Finance IS, ang HR IS, at ang bagong software na iyun.
Sa enterprise integration papasok ang mga kagamitan tulad ng MuleSoft na isang proprietary samantalang ang Apache Camel naman ay isang Open Source. Pag proprietary ang pipiliin ng isang development team ay kelangan nilang gastusan ang pag kuha ng lisensya para sa MuleSoft. Kapag Open Source ang tinahak ay kelangan mag isip ang isang development team kung kukunin nito ang Apache Camel o ang Redhat Fuse na maraming mga kagamitan na nakapalibut sa Apache Camel. Kung Apache Camel lamang ay walang gastos dito ngunit wala din dedicated support. Kapag Redhat Fuse naman ay may babayaran para sa support pero dahil guaranteed ang support at dedicated, malaking tulong ito sa mga development teams na gumagawa ng enterprise integration solutions gamit ang Apache Camel.
Masasabi ko na maganda ang growth ng Apache Camel at ng Redhat Fuse lalo uso pa ang enterprise integration development bago ang pandemic. Matapos mangyari ang pandemic ay nag-iba na ang pananaw ng industriya at sa panahon ngayun ay binabalewala na ang notion sa Enterprise Integration Patterns o EIPs at dahil nauso ang Spring Boot dahil madali gumawa ng mga REST API dito ay mas pinipili na ng mga development teams ang gamitin ang Spring Boot ay mag reinvient ng mga solutions na gawa naman na sa EIPs.
Halimbawa dito ay ang Circuit Breaker pattern na kasama na sa mga development tools and platforms tulad ng Apache Camel na sya namang ginagawa pa from scratch ng mga development teams na hindi gumagamit ng EIPs o di kaya ay nag rereuse pa ng COTS or third-party libraries para dito.
Isa din sa dahilan kung bakit nalalaos na ang Apache Camel sa panahon ngayun ay dahil din sa pag-iiba ng security landscape ng mga software sa panahon ngayun. Uso na ngayun ang regular na paglabas ng mga bagong exploits sa mga softwares dahil narin sa mga open-source libraries, tools, and platforms. Kung dati ay mga proprietary softwares lamang ang usong tamaan ng mga exploits, ngayun wala nang ligtas pa ang open-source at kung tutuusin ay marami ngayun ang exploits sa mga open-source kumpara sa mga proprietary at ito ay dahil uso narin ang mga kumpanya na gumagamit ng mga open-source kaya naman interesado ang mga adversarial actors sa cyberspace na pasukin ang mga information systems ng mga kumpanya upang makakuha ng mga sensitbong mga data na ibebenta o di kaya ay gagamitin para sa ransomware.
Ang pagbabago sa landscape ng security ng mga software ay nagbigay daan sa mabilisang mitigation ng mga exploits at lumabas dito ang kumonidad na nag babantay sa mga bagong exploits at ito ay ibinabahi sa publiko upang maka galaw agad ang mga engineers upang ayusin ang kanilang mga software upang mag patch ng mga fix para sa mga exploits an meron sa kanilang mga sistema.
Ang mabilisang turnaround time na kelangan upang ma defend ang information system mula sa mga adversaries ay sya ding naging kahinaan ng mga open-source na projects tulad ng Apache Camel at sa bilis ng mga versions na nilalabas sa panahon ngayun ay hindi nakakahabol ang Apache Camel at isang rason ito kung bakit nawawala ang pabor sa paggamit nito.
Ang mga engineers na nag cocontribute sa mga open-source projects ay walang mga sahod. Hindi sila binabayaran kaya't wala ding regular at mabilisang mga release sa mga ito at dahil sa bagal ng Apache Camel project na humabol sa mga bagong versions ng mga dependencies nito ay nawawalan ang pabor industriya dito.
Sa kabilang banda ay hindi ko lang alam paano hinahawakan ng Redhat engineers ang problemang ito dahil ang kanilang produkto na Redhat Fuse ay isang revenue pipeline para sa kanila.
© 2025 Tony Stark Ng Tawalisi ™