In this paper, we will survey challenges facing application developers that have to process real-time data to identify events. An event is a notable thing that happens inside or outside your business. An event, business or system, may signify a problem or impending problem, an opportunity, a threshold, or a deviation. We explain the fundamentals of Complex Event Processing, and introduce the semantics of the CEP query language, called CCL. Finally, we will discuss some of the challenges in integrating real-time data with the enterprise, and how to use CEP to address these challenges.