Web Engineering Introduction Husni Husni@trunojoyo.ac.id
Outline What is Web Engineering? Evolution of the Web Challenges of Web Engineering
In the early days of the Web, we built systems using informality, urgency, intuition, and art Informality leads to an easy work environment one in which you can do your own thing. Urgency leads to action and rapid decision making. Intuition is an intangible quality that enables you to feel your way through complex situations. Art leads to aesthetic form and function to something that pleases those who encounter it. Problem is this approach can and often does lead to problems
Why? As Web Apps become larger and more complex, Informality remains, but some degree of requirements gathering and planning are necessary Urgency remains, but it must be tempered by a recognition that decisions may have broad consequences Intuition remains, but it must be augmented by proven management and technical patterns Art remains, but it must be complemented with solid design Bottom line we must adapt the old-school approach to the realities of a Web 2.0 world
...and the response is Web Engineering
What is Web Engineering? Technologies, tools and methods to support systematic approaches to the development, deployment and maintenance of high-quality web systems
What is a Web system? Web site Internet application Application based on web technologies Portal Platform...
The Web An indispensable technology In virtually every aspect of modern living A transformative technology Changes the way we do things Changes the way we acquire and disseminate information An evolving technology Bottom line high impact on everyone in the modern world
WebApps The term Web application (WebApp) encompasses: Everything from a simple Web page that might help a consumer compute an automobile lease payment to a comprehensive website that provides complete travel services for business people and vacationers. Included within this category are complete websites, specialized functionality within websites, and informationprocessing applications that reside on the Internet or on an Intranet or Extranet.
WebApp Attributes Network intensiveness Concurrency Unpredictable load Performance Availability Data driven Content sensitive Continuous evolution Immediacy Security Aesthetics
WebApp Types Informational Download Customizable Interaction User input Transaction-oriented Service-oriented Portals Database access Data warehousing
Goals of the Course Learning about concepts (methods) and processes to build a good quality web apps Learning about the technologies behind today s web systems HTTP, HTML, CSS, CGI, PHP, SSI,... XML, XSLT, XPATH, XLINK, XHTML, VoiceXML,... Java Servlets, Java Applets, JSP, JavaScript, AJAX,... Learning about tools and frameworks to support development Silverlight, Google Web Toolkit,... WebML/Web Ratio Learning about architectural issues Simple client-server to multi-tier architectures Caching Virtual hosting
Goals of the Course... But most importantly Understanding the core concepts in order to be able to critically assess new technologies, tools etc. being able to get beyond the hype being able to ask the right questions being able to relate new technologies to existing/old technologies being able to select the right technology/tool for a particular project
Web 1
Web 2
Web 3
Web 4
Web Usability in Action Throughout the course we will introduce various issues related to web usability by looking at: Adaptation of web sites to large screen devices Adaptation of web sites to multi-touch devices End-user adaptation of web sites to different devices You will have a chance to participate in studies We will discuss the technologies behind various forms of adaptation
Course Attendance It is considered essential that students actively participate in the course by attending lectures and presentation sessions, as well as doing the exercises
Evolution of the Web Conceived in 1989 to allow geographically dispersed people to share information Information stored on different servers Information retrieved and viewed by means of a single browsing interface Information consisted mainly of text documents inter-linked based on hypertext model
Web-Based Hypertext Model
The Web Today Environment to deliver all kinds of information and services multimedia of different types (images, video, animations, audio) software distribution applications (search engines, calculators, design tools,... ) complex systems (e-commerce, enterprise planning,...) Platform for collaboration discussion forums social networking sites collaborative authoring (wikipedia,... ) web conferencing and meeting systems...
Web Nowadays... Increasing number of documents generated dynamically rather than being stored statically
Web Trends Universal platform for distributed and mobile systems Integration of information and application services single point of access uniform model of access Distribution of computation and information enterprise architectures GRID computing, cloud computing Mobile clients ability to access the web from a range of client devices
Adaptive Web Sites Personalization adapt content, functionality and presentation to user Context-Awareness adapt content, functionality and presentation to situation and/or task at hand (i.e. user context) Internalisation / Localisation adapt content, functionality and presentation to particular community language currency cultural acceptance...
CNN
Detik
Web Infrastructure Nowadays web infrastructure is used in many ways Small static web sites Large-scale publishing Access to complex applications Integration of services Intranets Application-specific infrastructure Publish-Subscribe Reactive Information Environments...
Corporate View Necessity of Web Presence e-commerce Moving into Global Markets Opportunity for small companies to project their corporate presence in same way as large companies Opportunities for virtual enterprises and B2B 365/24/7 operation Use of Intranets Standard Interface to Software
Effects of the Web Brings users into direct contact with information and application services focus on interface organisation and ease-of-use Globalisation of services cater for users with varying requirements, skills, languages and cultures government drives to provide access for ALL including people with disabilities Highly-dynamic services, sites and user communities rapidly evolve user presence ( only a click away )
Quality Little customer loyalty Quality keeps customers 3 main quality criteria Reliability Usability Security Other criteria: Availability Scalability Maintainability Time to Market
Types of Applications on the Web 3 main types of applications on the web web hypermedia applications authoring and publishing of information based on hypertext model technologies HTML, XML, multimedia,... developers - writers, designers, teachers,... web software applications web interface to software technologies Java Server Pages, Databases, J2EE,... developers - programmers web applications combination of the above
Need for Web Engineering Private individuals, businesses, governments and all sorts have come to rely on the web Web-based systems and applications now deliver a wide range of information and application services to a diversity of users Web technologies increasingly being adopted as a universal platform for all kinds of applications Large-scale commercial sites developed by multi-disciplinary teams of people with diverse skills and backgrounds, using cutting edge technologies In many ways, the development, deployment and maintenance of web sites more complex than traditional software development
Differences to Software Engineering Variety of people involved in development programmers, database experts, designers, content providers,... Typically developed for unknown set of users with no training Intrinsic characteristics of web applications reliance on communication technologies multi-platform accessibility hypertext-based interaction (non-sequential) range of technologies Speed of development and evolution
Multi-Disciplinary Nature of Web Engineering Software Engineering Hypermedia Engineering Information Engineering Graphical Design Usability Engineering Network Management Must provide tools that can separate concerns, allow developers to work together and can allow them to use familiar styles of working and tools
Users Generally unknown expectations, behaviour patterns not known at development time more difficult to design interface no training dealing with globalisation - different cultures, languages, etc. Nowadays covers a variety of roles browsers customers in e-commerce content providers editors...
Information Sources Dealing with a range of information sources and systems database systems file systems multimedia storage devices Variety of types and formats of multimedia content images, sound, animation, video,... in different formats documents of different forms text in different languages (alphabets) clients may only be able to handle certain formats certain formats may be specific to certain clients
Technologies Web developers must work with a range of technologies and languages document formats (HTML, XML, VoiceXML...) presentation (CSS, XSLT,...) programming (CGI, PHP, JavaScript, JSP, Java,...) databases content management systems web servers application server... Made even more difficult because of the rapid development of new technologies and standards
Maintenance Web sites evolve continuously without specific releases Maintenance cycles may be days or even hours Content, functionality, structure and presentation may change significantly from one moment to the next Necessary to provide some sort of controls over changes accuracy and quality of content translation of content into different languages conforms to corporate presentation guidelines modifications to structure and navigation modifications to services...
Legal, Social and Ethical Issues Copyright content links Privacy Criminal Activities Libel versus Freedom of Speech Internationalisation of Laws Access for the disabled and minorities
Next Week Basic Technologies: Protocols and Web Servers