Exzilla.net
Contact
Home -> RoadMap for beginning multi-tier developers
 
Features
Forums
Files
Blogs
Document ID: # rm02 July20, 2000  
Document Title : RoadMap for beginning multi-tier developers fuju windows-874 encoding

Document Details : Roadmap for beginning users specific in Java Servlet and Oracle Database Technology

Introduction

..พอพูดถึง Oracle ในช่วงหลายต่อหลายปีที่ผ่านมา หลายท่านเองก็อาจจะรู้จักในนามของ Database provider ซึ่งทาง Oracle เองก็เพิ่งเริ่มที่จะเปลี่ยนตัวเองจากภาพนั้นไปเป็น Strategic Partner แทนเมื่อไปกี่ปีมานี้เอง ซึ่งก็เป็นโอกาสที่ดีสำหรับหลายต่อหลายคน ในการพัฒนาระบบ Applications โดยอาศัยเทคโนโลยีของทาง Oracle


..ผมเองได้มีโอกาสติดตามเทคโนโลยีของ Oracle อยู่หลายปีเหมือนกัน ในปัจจุบันอาจพูดได้ว่า Products ของ Oracle มีแทบครอบคลุมในโลกของ IT อย่างครบวงจร


.. ไม่ว่าจะเป็นการพัฒนา IT เพื่อใช้เองในองค์กร Oracle ก็มีเครื่องไม้เครื่องมือครบ SDLC ( Software Development Life cycle)
..แต่ถ้าไม่อยากเขียนเอง Oracle ก็ได้มีการพัฒนา Oracle Applications ให้เลือกซื้อได้ตามต้องการ ซึ่งถ้าต้องการอาจติดต่อได้ที่ Oracle Thailand (662-6329400) หรือ www.oracle.com/thailand

..แต่ที่ผมจะพูดถึงก็จะเป็นเฉพาะในแง่ที่ต้องการศึกษา หรือเพื่อทำการบ้านเท่านั้น โดยอาศัย Oracle Core Technology เป็นหลัก

..ก็อย่างที่ว่า Product Line ของ Oracle เองมีค่อนข้างมาก การจะรู้จักกันทุกตัวก็คงต้องใช้เวลากันหลายปี ในส่วน Road Map ที่ผมเขียนมานี้ก็จะสนใจเฉพาะ การสร้าง Application ที่เป็น multi-tier โดยอาศัย Servlet และ Oracle Database technology เท่านั้น

Start Point

1.Download/Install Oracle Database

..เริ่มต้นก็คงต้องจัดหา Software ที่จำเป็นๆ กันก่อน Software ตัวแรกก็คงต้องเป็น Oracle Database (ผมคงไม่พูดถึง Database เจ้าอื่น ก็ด้วยเหตุผลที่ว่ารู้จักอยู่แค่ตัวเดียวเท่านั้น ) ก็คงต้องจัดหาได้ตามอำเภอใจ ซึ่ง Version ไหนดี Platform ไหนดี อาจสอบถามได้จากผู้รู้ทั้งหลาย แต่ถ้ามีเรี่ยวแรงที่จะ Download ได้ที่ http://technet.oracle.com/ ซึ่ง OTN เองก็มี Software แทบทุกตัวให้ Download รวมไปถึง Documents และ Sample Code ด้วย สำหรับ User ที่ไม่เคยไปใช้บริการ ในการเข้าไปครั้งแรกอาจต้อง Register กันก่อน ซึ่งทุกอย่างก็ Free ทั้งหมด แต่ต้องทำตามกติกาของเขานะครับ

..ซึ่งในขั้นตอนนี้ผมก็ได้เลือกหา Oracle8i (8.1.6) ที่ทำงานอยู่บน Linux ซึ่งผมก็ได้เลือกใช้ Redhat 6.2 สำหรับขั้นตอนการติดตั้ง Linux Redhat รวมถึง Oracle Database นั้นอาจลองหาได้ที่ OTN ซึ่ง Paper ที่ทาง Oracle เขียนไว้ค่อนข้างละเอียดอยู่แล้ว

2.Time to study

..หลังจาก Install เรียบร้อยแล้ว และได้มีการสร้าง Database เพื่อไว้ใช้งานแล้ว ก็ถึงเวลามานั่งอ่านหนังสือกันสักหน่อย เพื่อว่าจะได้รู้ว่าเราทำอะไร เพื่ออะไรอยู่ ส่วนแรกที่ อยากแนะนำให้อ่านก็เป็นหัวใจหลักก็คือ Oracle 8i Concept Guide เพื่อจะได้เรียนรู้ว่า Oracle Database มีการออกแบบอย่างไร คำศัพท์ต่างๆ มีความหมายว่าอย่างไรกัน

จากตรงนี้สำหรับพวกเราที่ยังไม่รู้ว่าจะทำอะไร รู้เพียงแต่ว่าอยากเล่น Oracle Database ก็คงต้องตัดสินใจว่า จะเลือกเป็น Developer หรือชอบใจทางด้าน Database Administrator (DBA) ก็คงแล้วแต่พื้นฐานที่สั่งสมมาของเราเอง อาจจะลองแวะไปที่ http://education.oracle.com/ เพื่อดูรายละเอียดเพิ่มเติม

3. เลือก Achitecture ที่เหมาะสม กับ Application ของเรา

..สำหรับผม ผมจะให้ความสนใจที่จะพัฒนา Application ที่ทำงานกับ Oracle Database มากกว่าที่จะไปสนใจทางด้าน DBA ซึ่งก็มีสิ่งให้เลือกอีกว่าจะเป็นแบบใดดี ในการเลือก Technology อะไรก็จะผูกติดต่อไปว่า จะเลือก Tools ที่ตามมาเป็นอะไรด้วย ผมขอแค่ยกตัวอย่างมาแค่ 2 ประเภทก่อน

3.1 2-tier / hostbase Application ก็จะมีทางเลือกที่จะเขียน ตามสิ่งที่เราถนัดอยู่แล้ว ก็อย่าง

  • Perl DBI
  • ODBC อย่างเช่น VB,Vitual C/C++
  • BDE อย่างเช่น Delphi
  • OCI อย่างเช่น C/C++, Oracle Developer ,Power builder

เป็นต้น

3.2 Multi-Tier Applicatioin แต่ถ้าจะเขียนในแนวนี้ก็มีหลายต่อหลาย technology อยู่เหมือนกัน อย่างเช่น

มาถึงตอนนี้ผมเลือกที่จะเขียนแบบ Multi-tier โดยอาศัย Servlet/Jsp ก็ด้วยเหตุผลที่ว่า ผมกำลังลุ่มหลงอยู่กับ Java Server-Side อยู่

4. เลือก Application Server, Deployment Server and Technology stack ที่เหมาะสม

..ในขั้นตอนนี้ เมื่อผมเลือกจะพัฒนาในรูปแบบ multi-tier สิ่งที่จำเป็นที่ต้องเลือก ก็คือตัว Application Server ที่เราจะใช้งาน ในขณะนี้มีอยู่หลายตัวเหมือนกัน ก็แล้วแต่ว่าใครชอบของค่ายไหน อย่างเช่น

( ..ผมได้เลือกทำงานกับ Apache1.3.12 + Jserv 1.1.1 และผมได้เพิ่มให้ Apache รู้จัก Jsp โดยใช้ jsp ของทาง Oracle ก็พอสรุปว่า ผมใช้ Apache + Jserv + ojsp ด้วยเหตุผลที่ว่า ตัว Software เองมีขนาดไม่ใหญ่มากนัก ถึงแม้จะเป็นของ free แต่ก็ทำงานในระดับที่ผมต้องการได้ครบถ้วน: July 20, 2000)

มาวันนี้ (May 11, 2002) ผมต้องบอกว่า เทคโนโลยีเปลี่ยนไปอย่างมาก ทำให้เราทำงานได้ง่ายขึ้นมาก ซึ่งก็ทำให้เรามี containers ดีๆ และใช้งานง่ายๆ อยู่มากมาย ฉนั้นในขั้นตอนเลือกนี้ผมเลือก OC4J (J2EE 1.3 ) มาใช้งาน เพราะด้วยขนาดเพียง 20Mb แต่มีทุกอย่างที่จำเป็นต่อการพัฒนางานอย่างครบถ้วน อย่างเช่น servlet,/jsp containers , EJB containers และไม่ต้องมา config อะไรมากมาย เพื่อที่จะเริ่มต้นใช้งาน เพียงแค่ Download, unzip และสั่ง start เพียงแค่บรรทัดเดียวก็เริ่มใช้งานกันได้แล้ว

..ในขั้นตอนนี้ก็ต้องเริ่มเรียนรู้ว่า Servlet ทำงานกันอย่างไร แล้วถ้าจะให้ Java program ที่เราเขียนติดต่อกับ Database ได้นั้นก็ต้องผ่าน JDBC แต่การเขียน Servlet นั้น ตอนเรา Maintain Code ก็ลำบากพอดูก็เลยมี Concept ของ JSP เกิดขึ้น เป็นอันสรุปว่าในขั้นตอนนี้ สิ่งที่เราต้องอ่านหนังสือเพิ่มก็จะเป็น Servet Programming, Jsp, Jdbc และถ้าอยากให้ Code ของเรา มีความสามารถของ Portable และ Reuseable มาขึ้นก็หนีไม่พ้นที่เราต้องศึกษาเรื่องของ JavaBean และ Enterprise Java Bean (EJB) ด้วย ถ้ายังไม่มี idea ลองอ่าน Core Servlets and JavaServer pages tm by Marty Hall (free pdf ) ดูนะครับเค้าเขียนไว้ง่ายดี

5. เลือกเครื่องไม้เครื่องมือ (Tools) ที่เหมาะสม

5.1 Software Development Life Cycle( SDLC ) and technology mapping อย่างที่เรารู้รู้กันอยู่ว่าใน SDLC แต่ละขั้นตอนนั้น ก็มี Tools ต่าง ๆ ออกมามากมายให้เราเลือกใช้ ซึ่งก็ขึ้นอยู่กับว่า เราได้เลือก Methology แบบใดกัน อย่างที่รู้จักกันทั่วไป เช่น

  • UML ซึ่งทางค่ายนี้ก็่มีTools ต่างๆ สำหรับการทำงานในโลกของ Object Oriented อย่างครบวงจร
  • CDM (Custom Development Method) ที่เป็นของทาง Oracle

5.2 DB Tier ในขั้นตอนการออกแบบ Database ก็จะมี Tools หลายตัวด้วยกันที่ช่วยทุ่นแรงเรา อย่าง

บางตัวที่กล่าวมาด้านบน ก็มีความสามารถช่วยทุ่นแรงเราในการออกแบบ Application ด้วย ก็แล้วแต่ราคานะครับ

5.3 Application Tier ในขั้นตอนของการสร้าง Application Logic ก็มี Tools ตามท้องตลาดอยู่หลายต่อหลายตัวที่จะช่วยให้การพัฒนา Java Servlet มีความสะดวกสบายขี้น

5.4 User Interface (UI) Tier อย่างที่รู้กันว่า การออกแบบ Application Multi-tier โดยใช้เทคโนโลยี Servlet/Jsp นั้น เวลาที่คุยกันกับทาง User ก็คงต้องเป็น html format ซึ่งก็คงต้องหาตัวทำ Presentation ดีๆ อย่างที่พวกเรารู้จักกันอย่างเช่น

  • Macromedia Dreamwaver
  • Microsoft front-page
  • Netscape Composer

..ในส่วนที่ 5 ก็ได้เลือก Design ในกระดาษก่อน ส่วน Application tier ก็ใช้ vi กับ notepade ไปก่อน สำหรับ UI นั้น ผมก็ได้อาศัยใช้ Netscape Compos ไปพลาง ๆ ก่อน ก็ด้วยเหตุที่ว่า Applicatoin ผมยังไม่ได้ยิ่งใหญ่ และเหตุสำคัญอย่างยิ่งก็ยังไม่มีเงินซื้อเครื่องมือ แต่ถ้าท่านใดมีเงินหรือมีสิทธิในการใช้งานอยู่แล้ว แนะนำว่า ใช้ พวก Tools เถอะครับ มันทำให้ประสิทธิภาพในการทำงาน (Productivity) เราดีขึ้นอีกเยอะมาก ๆ

สรุปภาพรวม:

html -> presentation layer( jsp + servlet ) -> Appliation login ( JavaBean,EJB) -> jdbc -> Oracle Database

 
หนังสือแนะนำ:
- Oracle 8 i Concepts Release 2 (8.1.6) December 1999 Part No. A76965-01,Oracle Corporation.
- Java Servlet Programming Jason Hunter ,O'reilly ,ISBN 81-7366-056-5
- Core Servlets and JavaServer pages tm by Marty Hall (free pdf )
 

See also:




Copyright (c) 2001-2009 - Exzilla.net -  All Rights Reserved.
Contact Us | Privacy Policy | Terms & Conditions