Software Engineering for Internet Applications
After completing this self-contained course on server-based Internet applications software, students who start with only the knowledge of how to write and debug a computer program will have learned how to build web-based applications on the scale of Amazon.com. Unlike the desktop applications that most students have already learned to build, server-based applications have multiple simultaneous users. This fact, coupled with the unreliability of networks, gives rise to the problems of concurrency and transactions, which students learn to manage by using the relational database system.
After working their way to the end of the book, students will have the skills to take vague and ambitious specifications and turn them into a system design that can be built and launched in a few months. They will be able to test prototypes with end-users and refine the application design. They will understand how to meet the challenge of extreme business requirements with automatic code generation and the use of open-source toolkits where appropriate. Students will understand HTTP, HTML, SQL, mobile browsers, VoiceXML, data modeling, page flow and interaction design, server-side scripting, and usability analysis.
The book, which originated as the text for an MIT course, is suitable for classroom use and will be a useful reference for software professionals developing multi-user Internet applications. It will also help managers evaluate such commercial software as Microsoft Sharepoint of Microsoft Content Management Server.
Review By: Ronald R. Goodwin, PMP
03/13/2007As an informational textbook, Software Engineering for Internet Applications is a very good book. The non-programmer probably can learn enough without the code to plan and execute a well designed Web site.
But as a reference book, I found Software Engineering complex and not all that user friendly. The table of contents has no description of the chapters included, and looking at the chapter title “Discussion” tells me no more about that chapter than does the chapter title “Search.”
There are laboratory sessions sprinkled throughout the chapters. They look like excellent laboratory sessions. If you have a good computer lab handy—with Web server, application server, a SQL database, maybe a reduced-size LPAR in a mainframe, a C# compiler—you can probably finish the labs in short order. Unfortunately for me, my TRS-1000 was not up to the task.
This book is targeted at the student. There is even an appendix containing notes for the course instructor. But I consider this book as more than difficult for the lay person who wants to build a Web site.
And I am a big believer in a detailed glossary and index, for when I need to look up something quick. This book does not have a good index but does have a fairly extensive glossary.
Software Engineering for Internet Applications is not for the weak-spirited reader interested in a quick idea for building a Web site. This is an in-depth, highly technical, detailed book, condensed expertly into approximately 360 pages. The student who picks this book up knowing a little HTML and wanting to build a server-interactive Web site could, after spending a few weeks or months, learn more than enough to do that very thing.