<TABLE> <S> <C>

<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM FORM 10Q
FOR THE 3 MONTHS ENDED MARCH 31, 1996, SIX MONTHS ENDED JUNE 30, 1996, AND
NINE MONTHS ENDED SEPTEMBER 30, 1996 AND IS QUALIFIED IN ITS ENTIRETY BY 
REFERENCE TO SUCH FINANCIAL STATEMENTS.
</LEGEND>
<MULTIPLIER> 1,000
       
<S>                             <C>                     <C>                     <C>
<PERIOD-TYPE>                   3-MOS                   6-MOS                   9-MOS
<FISCAL-YEAR-END>                          DEC-31-1995             DEC-31-1995             DEC-31-1996
<PERIOD-START>                             JAN-01-1996             JAN-01-1996             JAN-01-1996
<PERIOD-END>                               MAR-31-1996             JUN-30-1996             SEP-30-1996
<CASH>                                            3839                    2088                    4163
<SECURITIES>                                      1987                       0                       0
<RECEIVABLES>                                    26230                   32485                   35149
<ALLOWANCES>                                       555                     587                     668
<INVENTORY>                                      11581                   11650                   11692
<CURRENT-ASSETS>                                 48032                   50103                   54356
<PP&E>                                           24544                   25955                   23872
<DEPRECIATION>                                   12260                   13110                   11068
<TOTAL-ASSETS>                                   62289                   65244                   69005
<CURRENT-LIABILITIES>                            16480                   16127                   18482
<BONDS>                                              0                       0                       0
<PREFERRED-MANDATORY>                            37210                       0                       0
<PREFERRED>                                          0                       0                       0
<COMMON>                                             0                   37560                   37851
<OTHER-SE>                                        8599                   11557                   12672
<TOTAL-LIABILITY-AND-EQUITY>                     62289                   65244                   69005
<SALES>                                          14116                   29804                   44357
<TOTAL-REVENUES>                                 25848                   54515                   79871
<CGS>                                             6010                   13117                   19210
<TOTAL-COSTS>                                    22144                   46927                   70975
<OTHER-EXPENSES>                                  (57)                   (180)                   (136)
<LOSS-PROVISION>                                     0                       0                       0
<INTEREST-EXPENSE>                                   0                       0                       0
<INCOME-PRETAX>                                   3761                    7768                    9032
<INCOME-TAX>                                      1058                    2176                    2496
<INCOME-CONTINUING>                               2703                    5592                    6536
<DISCONTINUED>                                       0                       0                       0
<EXTRAORDINARY>                                      0                       0                       0
<CHANGES>                                            0                       0                       0
<NET-INCOME>                                      2703                    5592                    6536
<EPS-PRIMARY>                                     0.23                    0.48                    0.56
<EPS-DILUTED>                                     0.23                    0.46                    0.54
        

</TABLE>