I am from Taiwan. And we develop the SIS by ourself. ( Of course, it does not follow the SIF standard ..... . for there is no standard like SIF in Taiwan ).
Does moodle provide anything like API that I can customize it in order to integrate with outside systems ? or I have to access DB directly ?
Paul - An API is forming (see http://docs.moodle.org/en/Development:Events); however, I found directly working with the database the more efficient (although admittedly a bit of a brute force approach) way of providing some integration with our SIS - for example keeping course registrations updated (i.e. adding and dropping students from classes). I provided a turn-key solution for our school so that all user accounts, courses, and enrollments were taken from the SIS. When users logged in they magically just saw their courses. The more details you can provide about what you are trying to do with regards to the integration the more folks might be able to help. I'd take it one step at a time and as specific questions arise then let us know. Peace - Anthony