<TABLE> <S> <C>

<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM THE
UNAUDITED CONSOLIDATED BALANCE SHEETS AND STATEMENTS OF OPERATIONS AND IS
QUALIFIED IN ITS ENTIRETY BY REFERENCE TO SUCH FINANCIAL STATEMENTS.
</LEGEND>
<MULTIPLIER> 1,000
       
<S>                             <C>                     <C>
<PERIOD-TYPE>                   6-MOS                   3-MOS
<FISCAL-YEAR-END>                          JUL-31-1998             JUL-31-1998
<PERIOD-START>                             AUG-01-1997             NOV-01-1997
<PERIOD-END>                               JAN-31-1998             JAN-31-1998
<CASH>                                          10,084                  10,084
<SECURITIES>                                    16,040                  16,040
<RECEIVABLES>                                   10,741                  10,741
<ALLOWANCES>                                       636                     636
<INVENTORY>                                      5,829                   5,829
<CURRENT-ASSETS>                                44,809                  44,809
<PP&E>                                           6,527                   6,527
<DEPRECIATION>                                   5,096                   5,096
<TOTAL-ASSETS>                                  46,425                  46,425
<CURRENT-LIABILITIES>                            5,368                   5,368
<BONDS>                                              0                       0
<PREFERRED-MANDATORY>                                0                       0
<PREFERRED>                                          0                       0
<COMMON>                                             9                       9
<OTHER-SE>                                      41,048                  41,048
<TOTAL-LIABILITY-AND-EQUITY>                    46,425                  46,425
<SALES>                                         24,304                  10,645
<TOTAL-REVENUES>                                24,304                  10,645
<CGS>                                           20,386                   8,888
<TOTAL-COSTS>                                   20,386                   8,888
<OTHER-EXPENSES>                                 6,755                   4,194
<LOSS-PROVISION>                                     0                       0
<INTEREST-EXPENSE>                                   0                       0
<INCOME-PRETAX>                                (2,304)                 (2,160)
<INCOME-TAX>                                       505                     628
<INCOME-CONTINUING>                            (2,809)                 (2,788)
<DISCONTINUED>                                       0                       0
<EXTRAORDINARY>                                      0                       0
<CHANGES>                                            0                       0
<NET-INCOME>                                   (2,809)                 (2,788)
<EPS-PRIMARY>                                   (0.47)                  (0.46)<F1>
<EPS-DILUTED>                                   (0.47)                  (0.46)
        
<FN>
<F1> EPS-PRIMARY IS EQUAL TO EPS-BASIC
</FN>

</TABLE>