Oracle Education and Training Services Department (May 2010 - June 2012)
Senior Lecturer/Technical Consultant
Courses
Technical Lectures
Sun Education Services (2007.01 ~ 2010.04)
Senior Lecturer/Technical Consultant
Courses
OO-226 Object-Oriented Analysis and Design: Using UML
SL-750 Spring Framework 2.0
SL-110 Introduction to Java Programming
SL-740 Programming with NetBeans and Glassfish
SL-351 Java Enterprise Application Development
SL-314 Java Web Application Development
SL-860 Java Application Performance Tuning
Teaching Materials Compilation
SL-750 Spring Framework 2.0
SL-275, SL314, SL351 Chinese Edition
ePractice J055C, J081C Chinese Edition
SL750 Hibernate & Java Persistence
API
SL-314 Tag Library Supplementary Material
SL-275 Certification Exam Online Practice Simulation Material
Technical Lectures
2007.9: Java 2007 Professional Technical Conference EJB 3 and JPA in-depth session lecturer
2008.3-2008.4: Sun Campus Technology Lecture Tour
2008.4: Instructor Resource Exchange after Sun Digital Academy Launch Press Conference
2008.11-2009.12: Sun Campus Technology Lecture Tour
2009.2: JavaTWO09 Lecturer “Analysis of OSGi and GlassFish3 HK2 Dynamic Service Core”
2009.7, 2009.8: Java Certification Days Lecturer “Easily Develop Lightweight, High-Performance Java EE Applications - Using SpringSource dm Server”
Flag Publication Co,Ltd. Run PC! Magazine ( 2006 ~ 2007)
Technical Columnist
Published articles include:
June 2006: Java EE 5 Support for AJAX
July 2006: Java EE Platform Development Review and Overview of Java EE 5
August 2006: Key Technologies of Java EE 5: Annotation
September 2006: Key Technologies of Java EE 5: Resource Injection
October 2006: Overview of EJB 3.0 Simplified
API
December 2006: Java Object Persistence Solution: Java Persistence
API
Gotop Publishing
Technical Book Review
November 2004 ~ June 2005
Chinese Edition of Core JavaServer Faces (Published by Gotop Publishing Co.) Reviewer:
url
Taiwan Depository & Clearing Corporation ( 2004.04 ~ 2004.08)
Training and Consulting
“Taiwan Depository & Clearing Corporation” is responsible for the settlement, delivery, and custody of short-term securities in Taiwan's money market, handling monthly transaction amounts often exceeding 7 trillion TWD. Its “Bond Custody Settlement System (BCSS)” is one of the few large-scale systems in Taiwan, with high requirements for reliability and security. The primary architecture of the system was designed by an architect from IBM Belgium. Initially, the BCSS system was based on the IBM SanFrancisco platform (later converted to J2EE). Due to the system's large scale and complex architecture, it was not easy to understand.
During my four months at TDCC (formerly DIDC), I was mainly hired to comprehensively survey and organize the documentation and source code of the BCSS architecture. I explained and analyzed it to the developers through lectures and provided supplementary architectural knowledge (such as Application Frameworks, Patterns, etc.) as needed. The training content included:
* Architecture-centric Development using Patterns and Frameworks
* SanFrancisco Framework-enhanced Development Process
* OCP, IoC, and Dependency Injection
* Architectural Patterns for Persistence Design
* EJB Fundamentals
* Enterprise Integration with JMS and MDB
NCCU Computer Center ( 2001.04 ~ 2004.06)
During my time at the NCCU Computer Center, I was responsible for establishing and maintaining the Java Web Application Framework, telephone voice service system (IVR), Web application development, InstallShield deployment scripting, and managing Application Server Clusters (using Linux + Weblogic 5.1). Additionally, I taught introductory internet programming courses in the evening classes.
NCCU Web-Based Administrative System Framework (SAWA)
SAWA was independently developed by me. Currently, all web-based administrative systems at National Chengchi University are built on a unified administrative system framework based on J2EE technology. After completing the system analysis and entering the design phase, developers use the abstract classes provided by the administrative system framework to customize the system’s Controller and Action classes, establishing the basic structure of the entire system.
The purpose of SAWA is to quickly develop fully functional, consistent, and easily maintainable applications based on J2EE technology, providing a comprehensive development platform for administrative systems.
The common application framework offers features such as single sign-on, unified error handling, dynamic online help, database switching, and MVC style programming, providing a common infrastructure.
The main benefits include improved overall code quality as each application is developed based on the same framework. The aesthetic and error-handling styles of web pages developed by different developers are consistent. The framework handles many details for developers, enhancing development efficiency. The system is clearly segmented in the MVC style, making debugging and maintenance easier. Resource control functions are uniformly handled by the framework, preventing control loopholes during programming. Consistent and clear error and solution explanations help users understand system failures and preliminary solutions, reducing the burden of user support services. Finally, the framework acts as a design guideline, reducing outsourcing risks.
-
TANET 2003 Conference Management System
The Taiwan Academic Network Conference (TANET) is an annual academic conference focusing on the development of academic networks in Taiwan, emphasizing the academic discussion of internet technology and applications, as well as practical exchanges in network management and digital content construction. It is the most important annual event for internet applications in the Taiwanese academic community.
The main functions of this system include: (1) Announcing the latest conference information, such as location and time, hotel arrangements, agenda scheduling, paper submission deadlines, and acceptance notifications. (2) Online registration for general participants, allowing for an estimate of the number of attendees and arrangements for accommodation. (3) Management of paper submitters, including setting personal basic information, uploading papers, editing paper information, checking paper acceptance status, receiving reviewer suggestions, and scheduling the agenda, facilitating the participation of paper submitters in the conference. (4) Management of paper review and acceptance, including reviewer assignment, online review scoring, providing suggestions for papers online, and handling controversial papers, aiming to simplify and standardize the review process, with the goal of completing all review processes online.
-
I served as the Technical Lead of the development team, leading five team members to successfully build this conference system, which was also adopted in TAAI 2004.
The design philosophy of this system was also published at TANET 2005: Chun-Yin Li, Chun-Feng Liao, Jing-Yao Chang, and Tsai-Yen Li, “A Software Factory for Conference Management System,” in Proceedings of Taiwan Area Network Conference 2005 (TANET 2005), Taichung, Taiwan, 2005.
Part-Time Technical Courses
2003 TANET Conference - UML and Software Architecture
NCCU Computer Center Evening Class, Fall 2003 - ASP.NET
NCCU Computer Center Evening Class, Spring 2003 - PHP, PHP Nuke, and MySQL
NCCU Computer Center Evening Class, Fall 2002 - PHP and MySQL
NCCU Computer Center Evening Class, Spring 2002 - JSP
Development and Maintenance of NCCU Web-Based Administrative System
WebLogic Application Server Management and Deployment
Planning and setup of WebLogic Proxy and Cluster. Writing and maintenance of daily operation scripts for Linux hosts.
During the course selection period, web traffic is heavy, often resulting in a large number of connections within a short time. Therefore, it is necessary to use an Application Server Cluster with a Connection Pool to regulate this. The course selection system is mainly composed of three layers. The front layer is the Request Dispatcher, the middle layer is the Portal Server, and the back layer is the WebLogic Cluster. The Request Dispatcher serves as the only external entry point for the course selection system. HTTP requests enter from the Request Dispatcher and are randomly assigned to several back-end Portal Servers by the PHP program. Therefore, the main components installed on the Request Dispatcher server are Apache Httpd and the PHP module. The Portal Server in the middle acts as the load balancer for the back-end Cluster, requiring 1-3 servers depending on the number of users and traffic, with the Request Dispatcher responsible for assignment. The Portal Server requires the installation of Apache Httpd and the WebLogic Proxy Plug-in for Apache (mod_wl.so). The back-end Cluster, depending on the number of users and traffic, may consist of 4-7 WebLogic 5.1 Servers, responsible for the actual course selection work.
Development and Maintenance of Telephone Voice Course Selection System (IVR)
2001.4 ~ 2003.12
Implementation technologies: C++, BrookTrout Telephony
API
Client-Server Application Deployment
INTECS International (2000.04 ~ 2001.04)
INTECS primarily focused on services related to natural language speech, integrating telephony, speech recognition engines, and text-to-speech (TTS) systems to provide user services through backend databases or the internet. My main responsibilities in the company included backend tasks such as developing a statistical billing system, telephony-internet interfaces, and telephony-database access. The XML-based speech-oriented statistics system I developed has been adopted as a standard feature of the company's VoicePortal product and is currently under patent application. I participated in projects including the KG Telecom Miss600 intelligent voice control system and the Veterans General Hospital appointment system. In January 2001, I transitioned to R&D, focusing on voice browsing and location-based services.
Telecommunication System Backend: Usage Statistics Analysis System for Natural Language Speech Recognition
2000.04 ~ 2001.04, independently developed.
Used in the KG Telecom Ms.600 project and the Veterans General Hospital voice-controlled appointment system.
The daily statistics system collects status log files (nmslog) from each ASR and stores them on the Billing Server, aiding system administrators in detecting system issues. Reports can be generated automatically or manually on the Billing Server daily, with the system able to produce CDRs in XML or vendor-specified formats at specified times. It also supports push mode, allowing automatic uploads to the billing server at designated times.
Web-Based Remote Monitoring System for Natural Language Speech Recognition Telecommunication Backend