| By Richard Conway | Article Rating: |
|
| March 20, 2006 01:00 PM EST | Reads: |
32,984 |
It took less than five minutes to generate and since it's just Java Swing, it can easily be customized and extended for use in an application. You can see a detailed demo of XTT on JavaLobby. Tools like these can really kick your development into overdrive.
More Synergies: Combining Swing Frameworks with Object Databases
By combining a Swing framework with an object database, you can cover 80%-90% of your application's plumbing. Now you can focus on developing the user interface and business logic.
Visualizing Code Coverage
Figure 7 depicts using XTT with an object database, in this case InterSystems' Caché. The specific implementation will differ somewhat for other object databases and Swing frameworks. The purpose here is to illustrate what percent of the software stack we can address by using these technologies. Here XTT fully addresses the presentation layer, data binding, and data transport layers of the application. Note that XTT can bind directly to the SQL/relational interface of the database or to POJOs that are then synchronized with objects on the server. In this configuration, developers only have work with objects on both the client and server and data persistence from the client is automatically handled by XTT.
Summary
By using object databases, Swing, and Swing binding/transport frameworks you can reduce the plumbing code you develop by up to 80%-90% for the typical enterprise application. Each database and framework provides its own unique functionality and features and should be evaluated to see which best meets your needs - but most of them can significantly reduce the amount of code you have to develop and maintain. With 80% less code to write, you're well on your way to RAD.
References
Object Databases
- Service Architecture - Object Oriented Databases & Technology: www.service-architecture.com/object-oriented-databases
- List of Object Database Vendors: www.service-architecture.com/products/object-oriented_databases.html
- InterSystems Caché Database: www.InterSystems.com
- db4objects Database: www.db4objects.com
- ObjectDB: www.objectdb.com/
- Progress ObjectStore Database: www.progress.com/realtime/products/objectstore/index.ssp
- Detailed discussion of mapping objects to relational tables: www.agiledata.org/essays/mappingObjects.html#
ImplementingObject-Relationships
Data Binding
- Javadesktop Data Binding: https://databinding.dev.java.net/
- Getting Started With JDO: http://java.sun.com/developer/technicalArticles/J2SE/jdo/
- Jgoodies Data Binding: https://binding.dev.java.net/
- Data Binding: The Next Big Thing in Desktop Java Apps : www.clientjava.com/blog/2005/04/07/1112925660994.html
- Java Desktop Network Components: https://jdnc.dev.java.net/
- Spring Rich Client Project: www.springframework.org/spring-rcp
- Insitech XTT: www.insitechinc.com/
- Canoo ULC: www.canoo.com/ulc/index.html
Networking
- Fundamentals of Internetworking: www.oreillynet.com/pub/a/network/2001/02/09/net_2nd_lang.html
- Struts meets Swing: http://javaboutique.internet.com/tutorials/Swing/
Swing IDEs and Visual Editors
- Eclipse IDE: http://eclipse.org/downloads/
- NetBeans: www.netbeans.org/products/ide/
- Instantiations Swing Designer for Eclipse: www.swing-designer.com/
Swing Components
- Java Desktop Integration Components: https://jdic.dev.java.net/
- SwingX: https://swingx.dev.java.net/
Miscellaneous
- Software Tiers: www.opengroup.org/architecture/togaf8-doc/ arch/p4/views/vus_sw.htm#Software%20Tiers
- Rich Internet Applications and AJAX - Selecting the best product: www.javalobby.org/articles/ajax-ria-overview/
-SIDEBAR-
Swing on the Desktop
There's been a lot of noise about Swing making a comeback on the desktop lately. Performance concerns are a thing of the past and new projects like the Java Desktop Integration Components (JDIC), Java Desktop Network Components (JDNC), Data Binding, and SwingX are adding much needed capabilities to Swing that improve the user experience and simplify development by providing much needed functionality in easy to use libraries. This, continuing our theme of simplification, saves you from writing and maintaining your own code.
-SIDEBAR 2-
Development Simplification rules of Thumb
- Always survey the market before starting a new project to see what new technologies and frameworks can be used to simplify your development effort.
- Use an object database to eliminate the work and overhead of mapping frameworks.
- Limit the number of layers and technologies your application uses. It will reduce complexity and simplify maintenance.
- Use frameworks based on open standards to provide the "plumbing" of your application so you can focus on the custom business logic. The frameworks should:
- Be based on open standards => Therefore they will be supportable and extendable
- Replace role-your-own "plumbing" => Reducing the code you write and maintain
- Provide advanced features/functionality => Features you may not have the time or expertise to develop in-house.
Published March 20, 2006 Reads 32,984
Copyright © 2006 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Richard Conway
Richard Conway is a software developer and technology consultant with more than 15 years of technology, project management, and information services experience. He has extensive experience developing Java/Struts-based web applications. He started focusing more on Swing based developments at the beginning of 2005 and has just finished a Swing-based client/server asset management project. He lives in Miami with his wife Patricia, is currently working on an EMR application, and plays sand volleyball in his spare time.
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- Confessions of a Ulitzer Addict
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- It's the Java vs. C++ Shootout Revisited!
- Cloud Computing Can Revitalize Your Career as Software Developer
- IBM Could "Reinvent" Java: Mills
- Oracle & Cloud Computing: Exclusive Q&A with SVP Richard Sarwal
- A Brief History of Cloud Computing
- Kindle 2 vs Nook
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?









































