<TABLE> <S> <C>

<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM THE
COMPANY'S CONSOLIDATED FINANCIAL STATEMENTS AS OF AND FOR THE YEAR ENDED
DECEMBER 31, 1997 (AUDITED) AND FOR THE NINE-MONTH PERIOD ENDED SEPTEMBER 30,
1998 (UNAUDITED) AND IS QUALIFIED IN ITS ENTIRETY BY REFERENCE TO SUCH FINANCIAL
STATEMENTS.
</LEGEND>
<MULTIPLIER> 1,000
       
<S>                             <C>                     <C>
<PERIOD-TYPE>                   12-MOS                   9-MOS
<FISCAL-YEAR-END>                          DEC-31-1997             DEC-31-1998
<PERIOD-START>                             JAN-01-1997             JAN-01-1998
<PERIOD-END>                               DEC-31-1997             SEP-30-1998
<CASH>                                             471                     889
<SECURITIES>                                         0                       0
<RECEIVABLES>                                    2,966                   5,231
<ALLOWANCES>                                       139                     133
<INVENTORY>                                      2,928                   3,331
<CURRENT-ASSETS>                                 6,533                   9,962
<PP&E>                                           4,704                   6,867
<DEPRECIATION>                                   1,549                   2,013
<TOTAL-ASSETS>                                  10,499                  15,689
<CURRENT-LIABILITIES>                            7,362                   9,724
<BONDS>                                              0                       0
<PREFERRED-MANDATORY>                                0                       0
<PREFERRED>                                          0                       0
<COMMON>                                             1                       1
<OTHER-SE>                                       2,738                   4,812
<TOTAL-LIABILITY-AND-EQUITY>                    10,499                  15,689
<SALES>                                         16,211                  24,129
<TOTAL-REVENUES>                                16,211                  24,129
<CGS>                                           12,703                  18,303
<TOTAL-COSTS>                                   14,624                  21,373
<OTHER-EXPENSES>                                   137                   (231)
<LOSS-PROVISION>                                     0                       0
<INTEREST-EXPENSE>                                 104                     208
<INCOME-PRETAX>                                  1,000                   2,803
<INCOME-TAX>                                       130                     359
<INCOME-CONTINUING>                                870                   2,444
<DISCONTINUED>                                       0                       0
<EXTRAORDINARY>                                      0                       0
<CHANGES>                                            0                       0
<NET-INCOME>                                       788                   2,074
<EPS-PRIMARY>                                    0.158                   0.415
<EPS-DILUTED>                                        0                       0
        

</TABLE>