There is a really great overview at developer.force.com on the multiple ways to integrate your applications with force.com:
- Creating and exposing web services using the Apex programming language
- Invoking external web services from Apex
- Outbound messaging for invoking external web services when data changes
- HTTP and REST integration
- Email integration for inbound and outbound messaging
- The Force.com Web Services API and associated toolkits, such as the AJAX Toolkit, Java, .NET, PHP and Adobe Flex integrations.
- Syndication feeds via Force.com Sites