Web engineering is concerned with developing high quality web-based systems and applications using sound engineering principles. It aims to create applications that exhibit usability, functionality, reliability, efficiency and maintainability. Developing such applications requires knowledge of technologies like component-based development, security, internet standards, HTML, XML and adapting to changing technologies. The web engineering process is iterative and incremental, involving tasks like formulation, planning, analysis, engineering, testing and customer evaluation.