<TABLE> <S> <C>

<PAGE>
<ARTICLE> 5
<MULTIPLIER> 1,000
       
<S>                             <C>                     <C>                      <C>                     <C>                   
<PERIOD-TYPE>                   3-MOS                   3-MOS                    6-MOS                   6-MOS                 
<FISCAL-YEAR-END>                          DEC-31-1997             DEC-31-1996              DEC-31-1997             DEC-31-1996
<PERIOD-START>                             APR-01-1997             APR-01-1996              JAN-01-1997             JAN-01-1996
<PERIOD-END>                               JUN-30-1997             JUN-30-1996              JUN-30-1997             JUN-30-1996
<CASH>                                           7,787                       0                    7,787                       0
<SECURITIES>                                         0                       0                        0                       0
<RECEIVABLES>                                   11,657                       0                   11,657                       0
<ALLOWANCES>                                       480                       0                      480                       0
<INVENTORY>                                      5,735                       0                    5,735                       0
<CURRENT-ASSETS>                                26,466                       0                   26,466                       0
<PP&E>                                          13,505                       0                   13,505                       0
<DEPRECIATION>                                   6,943                       0                    6,943                       0
<TOTAL-ASSETS>                                  47,546                       0                   47,546                       0
<CURRENT-LIABILITIES>                           13,148                       0                   13,148                       0
<BONDS>                                              0                       0                        0                       0
<PREFERRED-MANDATORY>                                0                       0                        0                       0
<PREFERRED>                                          0                       0                        0                       0
<COMMON>                                        19,917                       0                   19,917                       0
<OTHER-SE>                                       (528)                       0                    (528)                       0
<TOTAL-LIABILITY-AND-EQUITY>                    47,546                       0                   47,546                       0
<SALES>                                         18,811                  17,408                   36,098                  28,180
<TOTAL-REVENUES>                                18,811                  17,408                   36,098                  28,180
<CGS>                                           11,766                  10,951                   22,580                  17,870
<TOTAL-COSTS>                                   16,030                  14,954                   30,677                  23,907
<OTHER-EXPENSES>                                     0                       0                        0                       0
<LOSS-PROVISION>                                     0                       0                        0                       0
<INTEREST-EXPENSE>                                  60                     516                      147                     828
<INCOME-PRETAX>                                  2,721                   1,938                    5,274                   3,445
<INCOME-TAX>                                     1,032                     742                    2,049                   1,322
<INCOME-CONTINUING>                              1,689                   1,130                    3,225                   1,991
<DISCONTINUED>                                       0                       0                        0                       0
<EXTRAORDINARY>                                      0                       0                        0                       0
<CHANGES>                                            0                       0                        0                       0
<NET-INCOME>                                     1,689                   1,130                    3,225                   1,991
<EPS-PRIMARY>                                     0.33                    0.44                     0.64                    0.78
<EPS-DILUTED>                                     0.33                    0.44                     0.63                    0.78 
        

</TABLE>