21-11-2012, 01:02 PM
Java Projects Tools and techniques
Java Projects.ppt (Size: 451.5 KB / Downloads: 74)
Who are we?
Remains of centralized data processing
Part of the unit providing IT services across campus
Traditionally mainframe based applications with web front-ends scripted in a simple in-house language
Changing mission as our administrative application development role is done by departments
Project list that requires a much more powerful language pushing adoption of Java
Changes are forcing developer to acquire new skills and ways of working – java camp.
The Systems
Clips – a web-based file system for distributing course materials
Jwebagent – a java runtime for our in-house scripting language
Tech lounge – a web-based developer documentation store
Clips Requirements
A simple to use, intuitive interface
Handle all file types
Accessible from any location
Date controlled display of materials
Easy transfer of materials from class to class
Work well with existing mainframe class management system
Work within the UTDirect portal framework
Use of XML for Meta Data
File system metaphor seems ideally suited to the tree structure of XML
Meta data structure based on two nodes types; directory-nodes and binary-nodes
One XML document contains all meta information needed to build file structure for a given class
Easy to re-build hierarchy of resources from XML tree
Database uses schema to specify stored document structure
Meta-Data Details
Directory nodes store information about a directory: name, creation time, description, etc
Binary nodes store information about a binary file: name, foreign key, size, content type, etc
Directory nodes can contain either binary nodes or other directory nodes (hierarchy)
clips meta data
Useful Tools
Log4j – used for debugging and recording production exceptions (system written before Java 1.4)
JDOM – very user friendly api for manipulating the XML
cos.jar – used to parse the multipart encoded forms
Entire-X broker ACI for Java
Java stub generator for mainframe modules
Tamino - native XML database
What is Webagent?
A scripting language with a syntax like Natural (mainframe language)
Scripts transformed into C++ objects forming a virtual machine which is serialized to a .WBX file
Runtime reads .WBX file, rebuilds the C++ virtual machine and executes it.
Pro: easy and productive for creating web front ends to mainframe applications.
Con: limited functionality
JProbe – code analyser
Threadalizer – finds deadlocks and conflicts (did not show any problems for Jwebagent)
Memory Debugger – shows memory use by classes and can find hanging objects (useful – strings to byte arrays)
Profiler – tracks objects and the call pattern, records method time and number of calls (most useful tool –identify prime objects to optimize)