everybody is talking, don't make I/O access from a J2EE application.
Now, we develop a J2EE application. Users can upload media files, which will be converted. Should now the web-container application make only I/O access to the file system?
The restrictions are to ensure that the enterprise bean is portable and can be deployed in any compliant EJB 2.1 Container. So, you can use I/O but...
The EJB 2.1 spec says:
25.1.2 Programming restrictions
This section describes the programming restrictions that a Bean Provider must follow to ensure that the enterprise bean is portable and can be deployed in any compliant EJB 2.1 Container.
An enterprise bean must not use the java.io package to attempt to access files and directories in the file system.
The file system APIs are not well-suited for business components to access data. Business components should use a resource manager API, such as JDBC, to store data.
Isn't that one of the reason GOF came up with Proxy???