Web application framework
Сүүлийн үед өргөн хэрэглэгдээд байгаа вэб апликэшн хөгжүүлэлтийн фрэймворкуудын талаар.
Spring-ийн талаар дуулсан л байх, алдартай фрэймворк. Гайгүй сайн гэсэн техникүүдийг хэрэглээд, нээлттэй эх бүхий мундаг мундаг хэрэгсэлүүдийг угсраад хийчихсэн гэж байгаа. Онцолвол: MVC + AOP + IoC + DAO + iBATIS + Hibernate + Struts + Webwork + JTA + EJB + …. = Spring. Гэхдээ онцлох ёстой зүйлс нь:
гэдэг 2 ойлголт юм. AOP ийг хэрэглэснээр програмынхаа кодыг өөрчлөлгүйгээр лог хэвлэх, оролт гаралтыг шүүх, гэх мэт шинж төрхүүдийг нэмэх боломжтой бөгөөд, IoC ийн дэмжлэгтэйгээр програм илүү динамик болдог. Тухайлбал нэг хөгжүүлэгч бизнес логикоо жирийн POJO байдлаар хийж байхад нөгөө нь вебээ яаж ажиллах урсгал, удирдлагын хэсэг зэргийг хийж байгаад нийлүүлэх үедээ аль нь ч бичсэн кодоо өөрчлөхгүйгээр тохиргооны файлд зааж өгөөд л болоо. Эвтэйхэн сонсдохгүй байна гэжүү. Тэгээд бас WebLogic, Tomcat, Resin, JBoss, Jetty, Geronimo, WebSphere гээд мэдэх мэдэхгүй апликэшн сэрвэрүүдтэй бүгдээрэнтэй зохицож ажиллаж чадна гэнэ лээ. J2EE -г бүрэн дэмжих учир EJB хийдэг хүмүүс хэрэглэж болох нь байна. Spring ийн Bean нь EJB ээс хамаагүй амархан, нэг EJB хийх гэж баахан хол ойрын интэрфэйс, араг яс энэ тэр үүсгээд энд тэнд тохиргоо хийгээд явж өгдөг санагдаж байна. Spring дээр бол POJO байхад бараг болчихно, тохиргоо нь ч бага. Нэмж хэлэхэд .NET ийн салаа хувилбар бас байдаг.
Одоо өөр нэг фрэймворкыг авч үзье. Энэ фрэймворкын нэр бас л S-ээр эхэлсэн бөгөөд 6-н үсэгтэй, япончууд маш их хэрэглэдэг нээлттэй эх бүхий бүтээл. Миний бодлоор бол Spring ийг л дуурайсан шиг санагдсан. Бас л AOP + DI + DTO + S2DAO + S2JSF + S2Struts + S2Tapestry + S2Flex + S2RMI + S2Axis+… Seasar. Нөгөө мундаг нээлттэй эхийн хэрэгсэлүүдийг нэрнийх нь урд S2 залгаад жаахан жаахан өөрчлөөд л өөрийн болгоод байгаа юм байна лээ.
Spring хөгжүүлэгчдийн философи нь бэлэн байгаа сайн хэрэгсэлүүдийг тэр чигээр нь хэрэглэх. Ингэхийн ашигтай тал нь тэдгээр хэрэгслүүдийг анхны зохиогчид нь хөгжүүлээд сайжруулаад явна, харин Spring -ийн хөгжүүлэгчид Spring -ээ л хөгжүүлээд сайжруулаад явна. Гэтэл Seasar болохоор тэдгээр хэрэгслүүдийг авч ашиглахдаа нэрийг нь хүртэл өөрчлөөд өөрсдийн хэрэгцээнд нийцүүлж тусгайлан хөгжүүлж байгаа юм. Энэ нь Spring-тэй харьцуулахад жаахан дутагдалтай тал байгаа боловч Seasar-ийн гол зорилго болгосон зүйл нь:
- Тохиргооны файлууд сөнөтүгэй
- DI -ийг хэрэглэхэд амархан байх ёстой
гэсэн хоёр зүйл юм. Spring дээр тал талаас авчирсан хэрэгслүүдийг нийлүүлэхийн тулд тохиргооны файлыг овоо ихээр хэрэглэдэг бол Seasar дээр үнэхээр тохиргооны файл гэдэг нүдний гэм. Ашиглахад үнэхээр хялбар. DI хийхэд ч тохиргоо маш бага хийгддэг, Spring -ээс лав хялбар, EJB -ээс бол бүр хялбархан. Би лав EJB хэрэглэж сурах гээд долоо хоног оролдоод энэнээс арай өөрөөр байж болоогүй л юм байх даа гэж бодоод орхисон, дараа нь Spring -ийг хэрэглэж сурах гэсэн чинь баахан тохиргооны файл засах хэрэгтэй болоод бас л орхичихсон. Гэхдээ тэр үед бодит хэрэгцээ гараагүй байсан болохоор хүчлээгүй ч байх. Харин Seasar амархан ч юм, тэгээд хэрэглэх шаардлага нь ч гарсан болохоор дор нь эзэмшсэн дээ.
Саяхан Anonymous аас ямар технологи их ашиглагдаж байна гэж сурагласан байсан. Энд бол том хэмжээний системийг хөгжүүлэхэд WebLogic , WebSphere гэх мэт J2EE апликэшн сэрвэрүүдийг Oracle өгөгдлийн сантай хамт ашиглах нь элбэг. Дунд болон жижиг хэмжээний системүүдийн хувьд Seasar, Tomcat, Struts, MySQL, PostgreSQL гээд нээлттэй эхтэй бүтээлүүдийг ихээр хэрэглэдэг ч заримдаа том системүүд ч эдгээр технологиуд дээр хийгдэх нь олширч байгаа. Харин том системүүдийн хувьд өгөгдлийн сан нь Oracle голчлон хэрэглэгддэг.
За ингээд эцэст нь сүүлийн үед нилээд шуугиж байгаа Rails фрэймворкын талаар дурдахгүй өнгөрч чадахгүй нь. Энэ фрэймворк дээр хөгжүүлэгчийн бүтээмж харьцангуй өндөр байхын дээр, сүүлийн үед моод болоод буй Ruby хэл дээр тулгуурласан вэб хөгжүүлэлтийн хэрэглэл бөгөөд, бас л моодонд ороод байгаа AJAX апликэшн хийхэд зориулагдаж бүрэн тоноглогдсон ажээ. Завтай бол ороод үзээрэй.
Ингээд, миний сонголт бол : Seasar, Rails
Холбоос:
Апликэшн сэрвэрүүд: