Spring Python เมื่อ Spring ข้ามไปในโลกของ Python

June 4th, 2009 by roofimon Leave a reply »

SpringPython
เมื่อมีคนบ้าพลังนำแนวคิดของ Spring Framework และ Spring Security Framework เอาไปทำด้วยภาษาเทพอย่าง Python โปรเจคนี้ไม่ได้ทำการ Port โค้ดบรรทัดต่อบรรทัดเหมือน spring .NET แต่ในทางกลับกัน
ทีมผู้สร้างนำแค่แนวคิดที่ดีต่างๆ ของ Spring ไปเขียนใหม่ด้วย Python แทน

ความสามารถหลักๆ
ณ ขณะนี้สิ่งที่ SpringPython ได้ทำไปแล้วมีดังนี้
Inversion Of Control-แนวคิดหลักที่เป็นหัวใจของ Spring คือการ decouple คลาสด้วยอินเทอร์เฟสซึ่งจะทำให้เราสามารถสร้างซอฟท์แวร์ในเชิงโมดูลมากขึ้นและนอกจากนี้เรายังสามารถใช้ PyContainerConfig และ PythonConfig
เพื่อ plug สิ่งที่เราสร้างใน Python เข้าไปใน ApplicationContext ได้

Aspect Oriented Programming – SpringPython เตรียมกระบวนการการ wrap advice เข้ากับ objects ไว้หลายวิธีซีง AOP นั้นเข้ามาช่วยเราในเรื่องของการทำ remoting, debug และการวัดประสิทธิภาพ

Database Template – Template ที่ springPython เตรียมไว้นั้นมีไว้เพื่อแก้ปัญหาเรื่องกระบวนการใช้ฐานข้อมูลเช่นเปิด cursors, อ่านข้อมูล, ปิด cursors และการจัดการ exception ต่างๆ

Database Transactions – การเขียนแอพพลิเคชั่นที่ต้องทำงานกับฐานข้อมูลที่มากกว่าหนึ่งตัวและต้องจัดการเรื่อง Transaction ด้วยนั้นจะทำให้โค้ดของเราเข้าใจได้ยากมาก ดังนั้ SpringPython จึงเตรียมเรื่องของการทำ Transaction มาด้วย
เพื่อทำมห้เราสามารถจัดการ Transaction ได้ง่ายโดยไม่ต้องเสียเวลาเขียนโค้ดเพิ่มขึ้น

Seurity – ส่วนเสริมเรื่อง security นั้นจะเข้ามาช่วยเราในเรื่องของการควบคุมสิทธิ์ต่างๆเช่นการทำ authentication และ authorization

Remoting – เมื่อใช้ SpringPython แล้วเราสามารถเปลี่ยนเซอร์วิสต่างๆที่เราทำอยู่ให้เป็น remoting ได้ในกรณีที่เราสร้างเซอร์วิสเหล่านั้นด้วย IoC Container เพราะเราทำได้เพียงแค่เปลี่ยน configuration เท่านั้น

Plug-ins/Command-Line Tool – เป็น plugin ที่มีไว้เพื่อทำให้เราสามารถพัฒนาแอพพลิเคชั่นได้อย่างรวดเร็ว

Samples – เพื่อทำให้เราสามารถทำงานได้ง่ายขึ้น SpringPython ได้เขียนตัวอย่างไว้สามตัวอย่างคือ
PetClinic
Spring Wiki
Spring Bot

สามารถอ่านเพิ่มเติมได้ที่ http://springpython.webfactional.com/

Advertisement

2 comments

  1. โอ้ว มันอะไรกันนี่

    อ่านเจอตรงนี้มันน่าสนใจดีครับ

    What’s Coming?

    We are working on creating a fluent DSL for configuring the IoC container.

  2. cblue says:

    ขอเกรียนเรื่อง AOP หน่อยครับ

    ตามเข้าไปอ่านที่ http://springpython.webfactional.com/reference/html/aop.html

    แล้วต่อมแทบอักเสบ เพราะเห็นไม่ใช่แค่การ “wrap objects” ของ SpringPython ครับ แต่การใช้ term ทาง AOP สับสนได้ที่

    ต้องแนะนำให้ทีมเขียน SpringPython ไปอ่าน AspectJ กับ Spring AOP ดี ๆ เลยละครับ

Leave a Reply

You must be logged in to post a comment.