If I had five Oracle wishes, they would be...
Mostly for amusement value (perhaps I need to get out more... :)), I
was thinking about things in the Oracle-sphere that I'd love to see
happen over the next few years. Without further ado, here's my top 5
(in reverse order):
5. SQL Developer supports refactoring, find usages, unit testing for PL/SQL
The
biggest improvement in the Java development tool space over the last
five years or so has been support for agile development in the form of
test driven development and refactoring support. A lot of Oracle
enthusiasts love PL/SQL, use it every day, and are looking for a tool
that kicks the socks off TOAD and makes them super productive. Wouldn't
it be great if SQL Developer had the same level of support for
refactoring, find usages, and unit testing for PL/SQL as JDeveloper has
for Java?
4. Oracle XE is available on Mac Intel
Oracle
XE is, in my humble opinion, a revolutionary sea-change in the way that
Oracle delivers its products. For big, enterprise, mission critical
databases, stick with the enterprise edition. But if you're testing
something out, or prototyping, or running a small application, Oracle
XE is ridiculously easy to install and maintain. I will probably never
install MySQL again.
That said, there still seems to be no sign
of Oracle XE on Mac Intel. I'm hoping that one day I'll be able to grab
a dmg and get rolling with database fun on my mac just as easily as I
can today on my Linux and Windows boxen.
3. ADF databinding no longer heavily uses XML files
I'm
slowly but surely learning more about ADF. It may seem
strange, given that I work on JDeveloper, but until recently, I knew
next to nothing about ADF. As I learn the framework, there are things I
love about it, and a few things that I think could be better.
EJB3
/ JPA has totally embraced the POJO (plain old java objects) approach
to enterprise application development. As a result, when you use this
technology you write a beautiful, minimalist amount of code. It's not
just aesthetically pleasing, but it's easier to maintain since there is
a single point of truth, and it's in your code. In software
development, duplication is the root of all evil.
The
databinding support in ADF seems to liberally sprinkle your project
with dcx and xml files, most of which seem to largely consist of
duplicate information reflectively obtained from JavaBeans. I hope one
day that ADF databinding will embrace the minimalist, annotation-driven
approach taken by EJB3.
2. Open development process for JDeveloper and ADF
Development
tools from other vendors have a very transparent development process.
Users of those tools can get pre-release builds on a regular basis, and
can collaborate in the development of those tools in the form of bug
reports, enhancement requests, and even submitting patches.
I
don't think JDeveloper and ADF should be open sourced. I believe in
open source software, but open sourcing a product is not something to
take lightly, particularly with products the size of JDeveloper. In
much the same way as Java 1.7 seems to be slipping due to its move to
open source, I think we'd hold back JDeveloper and ADF by months if not
years if we tried to open source it.
On the other hand, there
are a lot of things we could to do make the users of our tools more
involved in their development process. The very first step would be
some transparency in the way that we deal with bugs and enhancement
requests. The OTN forums only go so far toward this. But they're sorely
missing the ability to track and vote on bugs and for the community to
really get involved in the process by verifying bugs, or marking them
as duplicates.
I'd love to see us build a great community on OTN around the development process of our tools.
1. Java community, Oracle community, and JDeveloper all get together and build great applications
For
the better part of eight years, I've worked on a single product -
JDeveloper. I'm probably somewhat biased, but I think it's a great
tool. I think it successfully bridges the gap between traditional
Oracle developers (who generally like database-centricity) and
developers in the brave new world of J2EE. The difficulty in bridging
this gap isn't to be underestimated. Some see those two worlds as polar
opposites.
Sadly, there continues to be a lot of ignorance of
JDeveloper in the Java world. Frequently, comparative reviews of the Java IDEs exclude JDeveloper. At conferences like JavaOne, people
frequently express surprise at what JDeveloper can do, and in some
cases at the fact that Oracle even has a product like this. Somehow the
message isn't getting out to Java developers. Perhaps a lot of them
just see the word "Oracle" and assume that our tools are going to lock
you in to the Oracle DB and make your application totally
Oracle-centric.
Ironically, some customers who like
Oracle-centricity seem to shun JDeveloper too, principally on the basis
that it's a Java development tool. I often wonder how many of these
developers would find JDeveloper genuinely useful if only they tried
it. JDeveloper is successfully used by large teams within Oracle
(Applications and Enterprise Manager), and it's a critical, central
part of Oracle's toolset. But I still get the impression that many
traditional Oracle developers don't think it's "Oracle" enough.
So
my second biggest wish is that JDeveloper get the mind share I think it
fundamentally deserves. Or at least we start to figure out what we can
do to get there...
There we have it: my five Oracle wishes.
If you had five Oracle-related wishes, what would they be? Why not blog
about it, and comment on this post with a link to your entry? I'll post
another entry in a few weeks with a summary of what other bloggers
think...