The new flexibility of industrial plants increases managerial and organizational problems. The number of alternatives increases, the mix of products grows, each product can be manufactured on different machines, the trend towards just-in-time production requires that the system react quickly, and reduces the temporal intervals for where to allocate activities. So the ''only manual'' approach to scheduling is inadequate. However, the present level of knowledge and expertise and the solutions so far used should be carefully considered. From this consideration we propose an architecture that could, in a smooth way, integrate the present solution and organization with new knowledge formulation and problem solving strategies. We have studied the organization of an Italian company that produces shoe soles for the world market. The high mix of products and the flexibility required by the production facilities impact on the scheduling activity. Here, scheduling could be initially approached as a one-machine problem, where the machine is the curing press and has a non-unitary capacity. The allocation of this machine is governed by many constraints that account for a great variety of conditions, both technological and organizational. We have defined the scheduling and resource allocation problem as a constraint satisfaction problem. We have provided a solution algorithm that orders the constraints and applies constraint checking. We have integrated the scheduling system with the existent PLC automation and with the central data and central processor. The result is a real-time system, running on a PC, and producing the schedules for the next seven days. The scheduler is routinely called once a day, to take into account the data about real production. The production manager can call it in case of disrupting events. Finally, we discuss the implementation and testing of our system.