<TABLE> <S> <C>

<PAGE>
<ARTICLE> 5
       
<S>                             <C>                     <C>
<PERIOD-TYPE>                   6-MOS                   6-MOS
<FISCAL-YEAR-END>                          DEC-31-1998             DEC-31-1997
<PERIOD-START>                             JAN-01-1998             JAN-01-1997
<PERIOD-END>                               JUN-30-1998             JUN-30-1997
<CASH>                                       9,734,500              18,433,500
<SECURITIES>                                37,072,400              21,500,100
<RECEIVABLES>                               15,444,900              12,088,500
<ALLOWANCES>                                  (427,800)               (477,300)
<INVENTORY>                                          0                       0
<CURRENT-ASSETS>                            71,125,400              60,192,400
<PP&E>                                      18,218,000              14,710,400
<DEPRECIATION>                               9,216,500               6,203,900
<TOTAL-ASSETS>                              80,414,800              68,759,200
<CURRENT-LIABILITIES>                       12,939,000              17,169,800
<BONDS>                                              0                       0
<PREFERRED-MANDATORY>                                0                       0
<PREFERRED>                                          0                       0
<COMMON>                                     1,485,800               1,422,200
<OTHER-SE>                                  63,675,800              46,600,900
<TOTAL-LIABILITY-AND-EQUITY>                80,414,800              68,759,200
<SALES>                                     53,616,500              39,805,800
<TOTAL-REVENUES>                            53,616,500              39,805,800
<CGS>                                                0                       0
<TOTAL-COSTS>                               37,660,600              27,685,800
<OTHER-EXPENSES>                             6,947,700               5,467,500
<LOSS-PROVISION>                                     0                  95,000
<INTEREST-EXPENSE>                              12,800                 178,700
<INCOME-PRETAX>                              9,900,200               6,653,400
<INCOME-TAX>                                 3,763,200               2,661,000<F1>
<INCOME-CONTINUING>                          6,137,000               3,992,400<F1>
<DISCONTINUED>                                       0                       0
<EXTRAORDINARY>                                      0                       0
<CHANGES>                                            0                       0
<NET-INCOME>                                 6,137,000               3,992,400<F1>
<EPS-PRIMARY>                                     0.41                    0.36<F1>
<EPS-DILUTED>                                     0.38                    0.30<F1>
<FN>
<F1>Income taxes, income from continuing operations, net income and earnings per
share data include pro forma adjustments to reflect a total provision for
income taxes had the corporation been taxed as a C corporation for the entire
reporting period.
</FN>
        


</TABLE>