<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<MULTIPLIER> 1,000
<S> <C>
<PERIOD-TYPE> YEAR
<FISCAL-YEAR-END> JUL-31-2000
<PERIOD-START> AUG-01-1999
<PERIOD-END> JUL-31-2000
<CASH> 1,550
<SECURITIES> 0
<RECEIVABLES> 3,943
<ALLOWANCES> 757
<INVENTORY> 74
<CURRENT-ASSETS> 5,441
<PP&E> 19,388
<DEPRECIATION> 8,330
<TOTAL-ASSETS> 26,894
<CURRENT-LIABILITIES> 10,692
<BONDS> 0
3,079
0
<COMMON> 67
<OTHER-SE> 10,494
<TOTAL-LIABILITY-AND-EQUITY> 26,894
<SALES> 39,429
<TOTAL-REVENUES> 39,429
<CGS> 26,798
<TOTAL-COSTS> 47,261
<OTHER-EXPENSES> (50)
<LOSS-PROVISION> 0
<INTEREST-EXPENSE> 2,271
<INCOME-PRETAX> (10,053)
<INCOME-TAX> 0
<INCOME-CONTINUING> (10,053)
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> (17,138)
<EPS-BASIC> (0.30)
<EPS-DILUTED> (0.30)
</TABLE>