Developing the NSDL User Portal Dean Krafft, Cornell University

Slides:



Advertisements
Similar presentations
Software engineering tools for web development Jim Briggs 1CASE.
Advertisements

The Developer Perspective Michelle Osmond. Design – Requirements Gathering Sales & Research projects –Prototypes/Demos User group meetings Usability workshops.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
HyperContent 2.0 JA-SIG Winter Conference December 5, 2005 Alex Vigdor, Columbia University.
MC365 Ant. Today We Will Cover: Overview of Ant Installing Ant Using the Ant command line tool Various Ant commands available Using Ant in Eclipse.
XML Prashant Karmarkar Brendan Nolan Alexander Roda.
Development of a Web Based B&B Reservation System Elizabeth Gates 22July04.
UPortal System Architecture. System Requirements Microsoft Windows Solaris Linux Mac OS X.
GForge: A collaborative development environment Presentation by: Geoff Gerfin.
Building Enterprise Information Portal using Oracle Portal 3
XML Based Learning Environment Prashant Karmarkar Brendan Nolan Alexander Roda.
Implementation of One Stop Search by XSLT By Dave Low University of Hong Kong 9-Dec-2003.
Best Practices for Channel Development Al Wold Arizona State University.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Web Service Implementation Maitreya, Kishore, Jeff.
Jennifer Paoletti. Office Live Workspace Basics provides a user with its own domain name, and the ability to create their own website. It also provides.
Types of software. Sonam Dema..
Standards for Technology in Automotive Retail STAR Workbench 1.0 Michelle Vidanes & Dave Carver STAR XML Data Architects, Certified Scrum Masters.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Transitioning from FGDC CSDGM Metadata to ISO 191** Metadata National Coastal Data Development Center A division of the National Oceanographic Data Center.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Developing Interfaces and Interactivity for DSpace with Manakin Part 2: Technical and Conceptual Overview of Dspace and Manakin Eric Luhrs Digital Initiatives.
Apache Ant Presented by Donato Testardo Nathan Stark.
The Collaborative Imaging Grid (CIG) Edward Marsh, Kurtis Heimerl, Andrew Urhausen, Paul Javid, Aneesa Awaludin, Austin Cargol.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
Apache Ant A gateway to test-driven Java development.
From Creation to Dissemination A Case Study in the Library of Congress’s use Open Source Software DLF Spring Forum Corey Keith
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Using XML for Test Case Definition, Storage and Presentation Michael Ensminger
KMS Products By Justin Saunders. Overview This presentation will discuss the following: –A list of KMS products selected for review –The typical components.
PHP Features. Features Clean syntax. Object-oriented fundamentals. An extensible architecture that encourages innovation. Support for both current and.
Distributed Java Programming Distributed Java Programming Setting up a Java Development Environment.
A (very brief) intro to Eclipse Boyana Norris June 4, 2009.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
Jožef Stefan Institute Developing a Control System from a Divan Bed PCaPAC 2002, Frascati October 2002 Grega Milcinski
The Fedora Project April 28-29, 2003 CNI, Washington DC Thornton Staples University of Virginia Sandy Payette Cornell Information Science NOTE: CSG
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
Ibm.com /redbooks © Copyright IBM Corp All rights reserved. WP07 ITSO iSeries Technical Forum WebSphere Portal Express– Installation, Configuration.
Justin Tilton uPortal Framework and User Interface Demonstration.
EFinanceFactory Andriy Kurhanevych, development group manager.
14th Oct 2005CERN AB Controls Development Process of Accelerator Controls Software G.Kruk L.Mestre, V.Paris, S.Oglaza, V. Baggiolini, E.Roux and Application.
© 2006 Altova GmbH. All Rights Reserved. Altova ® Product Line Overview.
© 2008 by Shawn Spiars; made available under the EPL v1.0 | March 17, 2008 Case Study – Phurnace Software and RCP Shawn Spiars Lead UI Developer Phurnace.
GLite build and integration system Building and Packaging Robert HARAKALY
Chapter 1 Introducing Ant. What is ant? Ant is a build tool  Automate the tasks of compiling code, running test, and packaging the results for redistribution.
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Overview of XML Ellen Pearlman Eileen Mullin Programming the Web Using.
Software Engineering Overview DTI International Technology Service-Global Watch Mission “Mission to CERN in Distributed IT Applications” June 2004.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
GLite build and integration system Building and Packaging Robert HARAKALY
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Top 5 IDE that Simplifies PHP Development Biztech IT Consultancy Pvt. Ltd. | |
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
Portal Software Unit Testing Supporting agile development of Sakai VRE enhancements Graham Klyne Oxford University Computing Service.
I Copyright © 2004, Oracle. All rights reserved. Introduction.
Code/Project Management On Screwdrivers and Hammers.
Proposed IT Infrastructure for TOP OS project
GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.
SE goes software engineering; managing the Compose* project.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
XML Based Learning Environment
The Fedora Project April 28-29, 2003 CNI, Washington DC
Presentation transcript:

Developing the NSDL User Portal Dean Krafft, Cornell University

2 Developing a User Portal: An NSDL Case Study  Quick Overview of Public SourceForge  The NSDL Communications Portal  uPortal and the NSDL.org portal project  Environment: Java, XSLT, and Tomcat  Coding Tools: Eclipse, XMLSpy, Ant, JUnit  Process Tools: CVS, Tasks, Trackers, and Wikis  Experiences

3 Public SourceForge  Supports Open Source projects at  Originally OS tools (CVS, GNU Mailman, Chora) with PHP “glue”.  Provides: Projects, User registration, File Releases, Tasks, Trackers (Bugs, Features, Patches), Docs, News, Mail Lists, CVS Repositories, Web space  versus Enterprise: All code is open to view and must be open source licensed

5 NSDL Communications Portal  Enterprise SourceForge: customized  Multiple workspaces supporting collaboration and code development  Local additions: Wikis for collaboration, controlled read access to CVS repositories  General use of web space, mailing lists, trackers, document mgr, CVS

7 Portals and User Interface workspace  Wiki documentation of system requirements – collaborative updating  Task lists: short term to-do for development process  Trackers: Bugs and modification requests  CVS: Primary store for code – collaborative revision control system

11 Portal Technology for NSDL.org  uPortal ( sig/uportal/)  Open source from the JA-SIG consortium  Java and XSLT customizable framework  Channel Architecture (portlets)  Uses Apache Tomcat as Servlet engine  NSDL.org: Primary user interface to NSDL. Supports news, help, search, browse, exhibits

15 Java/XSLT Web development  Java code takes input, interacts with DB, and creates small XML document representing unique content in output  XSL Transform “renders” the XML into XHTML targeted for specific browser  Same XML can drive many XSLTs  Separates “business logic” in Java from “display specifics” in XSL transforms

16 Java/XSLT pluses and minuses  Enforces “separation of concerns”  Enables using different levels of developer for different aspects of project  Simplifies retargeting portal to different browser, device, or look&feel  Use of XML enables automated processing and testing  Downside: It’s slower

17 Multiplatform Environment  Develop on Windows, deploy on Linux  Apache, Tomcat, Ant, Java, XSLT, uPortal – all run on both  Identical Ant build.xml files (and everything else) on both platforms  Only a few path names changed (build.properties)

18 Coding Tools: Eclipse  Open source Java IDE – IBM originally, now  Provides real-time error flagging  Excellent CVS integration and synch.  Direct support for JUnit tests  Good support for Ant build files (2.1 has better)

20 Coding Tools: Ant  XML-based Java automated build system (written in Java)  Supports multiple targets: compile, deploy, db, test (think “Make” for Java)  Supports direct CVS interaction and fully automated testing with JUnit  Other plug-ins available:

22 Coding Tools: JUnit/HTTPUnit  eXtreme Programming (XP) – test first, last, and always  JUnit: Unit testing for Java classes  Builds a suite of tests, piece by piece  XSLT test: Run transform against known input, then validate output against schema  HTTPUnit: HTTP-level request/response testing for running portal.

24 Coding Tools: XMLSpy  XSLT is a non-procedural “stylesheet” language for transforming the structure of XML documents  XMLSpy supports development and test execution of XSL Transforms  Allows creation of XML samples and schema for Java output  Supports validating output of XSL transform against XHTML DTD

26 Process Tools  CVS – Version control, differencing, good cross-platform Open Source sol’n.  Tasks – Important for distributed project, optional for small, local group  Trackers – Critical for tracking bugs, modification requests, etc.  Wiki – Nice collaborative environment for discussion/requirements. There are alternatives (BSCW, Groove, ).

27 Experiences  Java & XSLT worked extremely well as a web development approach – separating concerns and skills  Eclipse IDE is an excellent Java/Ant/JUnit/CVS environment  XP paradigm of continuous build & test worked very well – builds confidence  SourceForge tools helpful but not essential – but we were local