The Information and Communication Technologies (ICT) that are currently under development for future smart grid systems can enable load aggregators to have bidirectional communications with both the grid and Electric Vehicles (EVs) to obtain real-time price and load information, and to adjust EV charging schedules in real time. In addition, Energy Storage (ES) can be utilized by the aggregator to mitigate the impact of uncertainty and inaccurate prediction. In this paper, we study a problem of scheduling EV charging with ES from an electricity market perspective with joint consideration for the aggregator energy trading in the day-ahead and real-time markets. We present a Mixed Integer Linear Programming (MILP) model to provide optimal solutions as well as a simple polynomial-time heuristic algorithm based on LP rounding. In addition, we present a communication protocol for interactions among the aggregator, the ES, the power grid, and EVs, and demonstrate how to integrate the proposed scheduling approach in real-time charging operations. Extensive simulation results based on real electricity price and load data have been presented to justify the effectiveness of the proposed approach and to show how several key parameters affect its performance.