A diversity of technologies enables nowadays computer-based interactions between humans and businesses on the Web and on the Internet.
The aim of this course is to make the students familiar with some of the most pervasive technologies that come together to form the Web and the Internet as we know it.
At first, we will cover the Web-centric technologies that enable the interaction of humans with Web content, e.g. HTTP, HTML, AJAX, CSS and WML.
On the server-side part of technology, we will treat several Java EE technologies such as portlets, servlets, and JSP.
The reminder of the course will cover a set of technologies that are prominent in the landscape of Service-Oriented Architecture (SOA).
In a nutshell, SOA is a paradigm that advocates the creation of complex, value added applications by reusing and composing independent and loosely coupled (software) Web services. We will dissect prominent SOA concepts like service discovery, addressing, policies, Service Bus, coordination protocols and service compositions.
The architectural concepts will be complemented with an outlook of the technologies that embody them in the landscape of enterprise computing. In particular, we will cover several XML-centric technologies that sit at the core of Web services, e.g. XSD, SOAP, WSDL and BPEL. In addition to the SOAP-based approach to Web services, we will also explore their REST aspect. Building on this portfolio of technologies, we will discuss the relationships between Web service technologies and “hot” items on the enterprise computing agenda such as grid computing, autonomic/organic computing and utility/on demand computing.