
<TABLE> <S> <C>

<PAGE>
<ARTICLE> 5
       
<S>                             <C>
<PERIOD-TYPE>                   6-MOS
<FISCAL-YEAR-END>                          DEC-31-1998
<PERIOD-START>                             JAN-01-1998
<PERIOD-END>                               JUN-30-1998
<CASH>                                      13,794,756
<SECURITIES>                                         0
<RECEIVABLES>                                5,019,223
<ALLOWANCES>                                    59,224
<INVENTORY>                                  3,009,813
<CURRENT-ASSETS>                            22,207,144
<PP&E>                                      11,447,834
<DEPRECIATION>                               3,186,439
<TOTAL-ASSETS>                              30,468,539
<CURRENT-LIABILITIES>                        3,872,843
<BONDS>                                              0
<PREFERRED-MANDATORY>                                0
<PREFERRED>                                          0
<COMMON>                                        85,243
<OTHER-SE>                                  21,135,467
<TOTAL-LIABILITY-AND-EQUITY>                30,468,539
<SALES>                                      8,894,825
<TOTAL-REVENUES>                            10,315,927
<CGS>                                        6,530,910
<TOTAL-COSTS>                                7,668,835
<OTHER-EXPENSES>                             2,228,371
<LOSS-PROVISION>                                15,000
<INTEREST-EXPENSE>                             197,589
<INCOME-PRETAX>                                544,519
<INCOME-TAX>                                    25,000
<INCOME-CONTINUING>                            519,519
<DISCONTINUED>                                       0
<EXTRAORDINARY>                                      0
<CHANGES>                                            0
<NET-INCOME>                                   519,519
<EPS-PRIMARY>                                     0.02
<EPS-DILUTED>                                     0.02
        

</TABLE>
