If you are an Oracle shop, you can very effectively utilize your PL/SQL developers to be java based web developers in a very short time. This is accomplished by using a J2EE/XML based toolset/product called Aspire/J2EE. Aspire/J2EE is an open source tool developed by Active Intellect, Inc. Aspire/J2EE allows PL/SQL programmers to produce J2EE applications declaratively and quickly. Aspire/J2EE also allows PL/SQL programmers to become J2EE programmers in a gradual manner.
This proposition is originally discussed in an article published at O'Reilly titled "Improve Your Career with Tomcat and Aspire".
The rest of the article will discuss this proposition in detail by explaining each of the following topics
- The value proposition for pl/sql developers
- The value proposition for Project Managers
- The value proposition for Project owners
- What tools do you need?
- What do the tools cost?
- Are the programmers limited by the tool selection: An open programming environment
- What are some success stories of Aspire?
- References in the press about Aspire
The value proposition for pl/sql developers
Let us start the discussion by pointing out the various things that the PL/SQL developers will be able to do using the proposed tool set.
- Develop web applications using the java servlet/jsp/xml programming model on any servlet container including the popular and freely available Tomcat.
- Use stored procedures as your business logic with an option of migrating to Java when necessary
- Code the site using SQL or Stored Procedures
- Make your pages simultaneously avaialble in multiple formats:HTML,XML, Excel, Text
- Generate XML from relational databases declaratively. This becomes important for site syndication and B2B.
- Enable your web site for B2C and B2B simultaneously
Much of this functionality is made available to the programmers via pre-built java components called parts. PL/SQL programmers will be specifying these parts in a configuration file to accomplish the above specified benefits.
The value proposition for Project Managers
The programming benefits indicated above will also extend to the project managers. Because of the declarative nature of the programming the assets that are being developed (HTML pages, SQL, Stored Procedures) are known entities and will only take a certain amount predefined time. This allows the project managers to estimate project time and cost closer to the actual figures. Because the unknowns are few it is easire to monitor the progress as well.
An additional benefit is that you can have part of the team develop SQL and stored procedures while the other part of the team develop html pages. This will allow separation of tasks. Separation of tasks will allow parallel development. Separation of tasks will also allow better utilization of skill sets leading to better management of budget.
The value proposition for Project owners
"Better, Faster, Cheaper" used to be software engineering slogan. There is a saying that you can ask for any two of the three, but not all at the same time. Using the proposed tool sets you can have them all.
The developed solution is "better" because, the components are precoded and tested in many other applications. The stability of the solution is prebuilt into the architecture of the tool leaving very little in the hands of the day to day programmer.
The solution is developed "Faster" because you are dealing with known entities and very little procedural code. Doing the same in pure java code from scratch will take 3 to 4 times more time and budget. The solution can be developed faster also because, the solution is broken up into separate tasks. Independent teams can develop the pieces separately and in parallel.
The developed solution is "cheaper" because of two reasons. Because you are developing faster you are saving time. Time is definitely money. Because the solution allows the use of all levels of skill sets, You can use fresh graduates to develop complete solutions. This means you are paying less for development work. So you are saving on both fronts.
What tools do you need
As an Oracle development shop, you may already posses the following tools and perhaps using them dailiy
1. Some thing like SQL Navigator to write/test/store/debug SQL and stored procedures
As an additional tool set you need
- Tomcat (A servlet engine)
- Aspire/J2EE (The primary tool I am talking about here)
- FrontPage or DreamWeaver or a text editor (for writing html pages)
- Oracle Java development environment (for writing unforeseen exceptions)
What do the tools cost
Tomcat and Aspire/J2EE are free. You can get by with these toolsets largely. The optional mentioned toolsets you have to price them separately but should be relatively cheap compared to the total development cost.
Are the programmers limited by the tool selection: An open programming environment
When you chose Aspire to develop this web based application you are not limiting your capabilities as Aspire can coexist with all of J2EE practices including JSPs, Tag Libraries, Java Server Faces, Java or Stored Procedural business logic. This means you can branch out anytime.
Also the programming assets that you are developing with Aspire: HTML pages, JSP pages, SQL, Stored Procedures are all quite reusable and necessary for any present or future solutions. So none of the stuff you are spending time on is throw away.
What are some success stories of Aspire
Indent, Inc. has used Aspire to its advantage to deliver a series of solutions based on Oracle to a client called "Syncra Systems". Some of these solutions are currently running at Procter & Gamble of which Syncra is the provider. You can read more about these solutions at http:/www.indent.org. The hallmark of these solutions is that they are all developed with fresh graduates under the guidance of the founder of Indent, Pramod Jain. Importantnly these solutions are delieverd on time and on budget.
Aspire/J2EE product is also pivotal to the Small Business Innovative Research grants from some such institutions as NASA, NIH at Indent, Inc. You can read more about these grants by visiting the Indent link mentiond above.
Aspire is also used on a handful of solutions at CSX Technology, Jacksonville
Aspire is also used to develop a public content management site (blogs) available at http://www.activeintellect.com/akc
Aspire is also used on many internal projects at Indent
Aspire is also widely used as a data access library for the Java programming language
Aspire has been downloaded and used in China, Russia, Belgium, and Canada
References in the press
Aspire and its underlying technology has been published in many reputed journals over the last few years. It is also a recent topic of interest at the O'Reilly Open Source Convention - OSCON 2003 at Portland Oregon. The following links provide an overview of the press coverage
1. Improving your carreer with Aspire and Tomcat. This link is published at O'Reilly's OnJava center. This link outlines how RDBMS developers can effectively play the roles of web application architects.
2. Bringing the J2EE Cathedral to the Bazaar. This link is published at O'Reilly's OnJava center. This link outlines how J2EE development can be simplified using declarative paradigms such as Aspire.
3. Transparent Data Pipelines for JSP. This link is published at O'Reilly's OnJava center. This link is an indepth study of Aspire architecture and how it fits into the JSP MVC model.
4. For Tomcat developers Aspire comes in a jar. This link is published at O'Reilly's OnJava center. This link outlines how RDBMS developers can use Aspire for their declarative data access needs in Java.
5. Using Hierarchical Data Sets with Aspire and Tomcat. This link is published at O'Reilly's OnJava center. This link outlines how RDBMS developers can effectively use Aspire to retrieve XML declaratively from relational databases. This article makes a case for websites which are B2C and B2B at the same time using Aspire and Tomcat.
6. Moving Beyond JDBC - OSCON 2003, Portland. This link points you to the speakers page at OSCON 2003. This session at OSCON 2003 gives the advantages of Hierarchical Data Sets in web development.
7. A 30 minute guide to developing your first web application with Aspire. This link is published as part of Aspire online documentation. This link outlines how one can very quickly develop web based applications using Aspire and relational databases.
8. Asire/J2EE home page. This is Aspire/J2EE products home page. You can find here online documentation, downloads etc.