DB2 9.5 and IBM Data Studio - Things I Couldn't Tell You Before DB2 9.5 Was Announced
December 4, 2007
At the IBM Information Management Information on Demand (IOD) conference in Las Vegas in October 2007, IBM made a number of major announcements, which included the christening of the DB2 Viper 2 beta as DB2 Version 9.5 (DB2 9.5), and the introduction of a new toolset for IBM data servers (DB2 for Linux, UNIX, and Windows, DB2 for i5/OS, DB2 for z/OS, and Informix IDS) called IBM Data Studio.
Ive been writing a series on some of the features that were part of the DB2 Viper 2 beta program. Now that DB2 9.5 is generally available, I can share with you the vision and the ideology behind the new IBM Studio data toolset.
What the DB2 toolset looked like before DB2 9.5
Before the official announcement of the IBM Data Studio, IBM focused most of its attention (and coordination) on client-side deliverables around the run time. For example, IBM delivered cross-DB2-family APIs for Call Level Interface (CLI), Java Database Connectivity (JDBC), SQL Java (SQLJ), .NET, Perl, Ruby on Rails (RoR), PHP, Python, and more.
From a development perspective, there wasnt a coordinated focus on the graphical user interface (GUI). In DB2 Universal Database (DB2 UDB) Version 8, IBM delivered the DB2 Developer Center, which evolved into the DB2 Developers Workbench in DB2 9, but the audience for this tool was focused somewhere between developers and application-focused database administrators (DBAs). From a development perspective, one challenge was that developers dont just build stored procedures and user-defined functions (commonly called routines); they had to build Web sites using JavaServer Pages (JSP) and applications using a framework such as Java EE (formerly called J2EE), and so on. For Java developers, our toolset may have helped with 10% of their job, but they couldnt do everything they wanted to do using a single IDE. Multiple tools imply a larger client-side footprint, not to mention the learning curve, all to manage the end-to-end life cycle of an application.
Our previous toolsets also appealed to application DBAs and provided them with a framework to build routines (if this wasnt the Java developers responsibility), but there was no tooling to do schema evolution. For schema work, the application DBA had to turn to the Control Center; however, the Control Center was built on an entirely different set of technologies from the DB2 9 Developer Workbench. Depending on your job responsibilities, you may have had to use both tools.
Another group of users, operational DBAs, could use the Control Center or the command line processor (CLP). However, they likely wanted a lightweight infrastructure to manage the health of their data servers. For this task, these folks likely leveraged yet another set of tools, the Web-based Command Center and the Web-based Health Center.
In the end, your IT staffs DB2 data server toolkit looked more like a bunch of separate tools than a tool suite:
The IBM data server toolset with the announcement of IBM Data Studio and beyond
The IBM Data Studio announcement is a major first step towards a realignment of the disparate DB2 tools into a single customizable toolset. And these tools extend beyond the DB2 mandate; they are tools for all IBM relational data servers. But its even more than that.
IBM Data Studio provides perspectives that appeal to any tasks within the entire application life cycle, which IBM defines as:
Different vendors likely define this process with different labels, but for the most part, every application rolled out by your IT department experiences these activities.
When you consider the breadth of the IBM software group (IBM SWG) portfolio, you can appreciate the kind of expertise IBM has to offer. From this broad-based perspective, IBM strategists identified the following roles (with a data server focus) that the IBM Data Studio toolset needed to serve. The IBM Data Studio addresses these roles directly with add-ins and perspectives.
These roles are shown below:
You can see that I tried to map the application life cycle outlined earlier in this article with the roles that IBM strategists identified. For example, the Design phase encompasses work across job responsibilities (in this case, the business analyst and the database architect). As you look more closely at this figure, you can see that the high-level aggregate role of DBA gets broken down into granular DBA-related roles.
To simplify things, Ive shown you some roles, and some of what folks in these roles do in their day-to-day jobs below. The toolset is based on Eclipse the architecture of the IDE where personnel work. Notice, however, that there is a Web component. The deployment and management of these solutions are moving toward Web-based interfaces (such as the Data Studio Administration Control), and thus the Data Studio toolset set has Eclipse-based and Web 2.0-based facets.
Notice in the previous figure that Ive grouped application developers and database developers in the same quadrant. Of course, there is administration work to be done such as change management, schema evolution, and so on, which a DBA needs to do. There is also a whole category dedicated to governance. For example, if youre a retailer, are you compliant with the Payment Credit Industry Data Security Standard (PCI DSS or PCI, for short)?
Quite simply, no other vendor that Im aware of has an integrated suite that addresses all of the roles illustrated in the previous figure. One of the primary advantages of such a toolset would be its ability to help the entire organization gather information at the design phase and use that information to make the development stages easier. It follows that during the development phase, the organization would gather even more information about the project, and then infuse that information (which builds on the information gathered at the design phase) to facilitate the deployment phase. With improved information, the deployment phase would naturally run more smoothly. The momentum builds, of course, and by the time you get to governance, many of the manual requirements to adhere to a standard are already fulfilled because theyve been identified and built throughout the whole process with a toolset that is ubiquitous to all of its stakeholders.
By the governance phase, the framework would be able to take care of most of the things you need to know about the application life cycle; the toolset would know what it is you are trying to do and might even be able to automate some of it for you.