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

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

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/

general information ,

  1. June 4th, 2009 at 10:58 | #1

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

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

    What’s Coming?

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

  2. cblue
    June 6th, 2009 at 07:31 | #2

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

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

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

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

  1. No trackbacks yet.
You must be logged in to post a comment.