PowerBuilder Authors: Chris Pollach, Yeshim Deniz, Jayaram Krishnaswamy, Kevin Benedict, Avi Rosenthal

Related Topics: PowerBuilder

PowerBuilder: Article

Enterprise Database Development in Sybase Workspace Release 1.5

Enterprise Database Development in Sybase Workspace Release 1.5

Sybase WorkSpace is the first integrated development environment (IDE) capable of delivering all of theapplicationtypes in demand today - whether services-oriented, mobile, Java-based, composite, event-driven, or data-driven. Sybase WorkSpace is built on the Eclipse Open Source framework making it easier and faster for programmers to develop complex applications that link heterogeneous infrastructures like databases, messaging systems, and enterprise applications.

Sybase WorkSpace handles a range of tasks that would otherwise require the use of developer tools from multiple vendors. As a result, WorkSpace gives developers greater opportunities to interact with each other and cross-pollinate multiple development projects. No other IDE offers similar breadth and depth of functionality.

This article will focus on the end-to-end capabilities for enterprise database development available in Sybase WorkSpace, one of six major functional components that also include enterprise modelling, services development, process orchestration, Web application development, and mobile development. A use-case scenario will illustrate a typical order entry and shipping application implemented using WorkSpace.

Sybase WorkSpace & Database Development
WorkSpace's data management capabilities cover the full spectrum of required features: database modelling, database navigation, SQL development, SQL tuning, service generation and consumption, and debugging and testing.

Database Modelling
Sybase WorkSpace supports gathering database requirements, converting these requirements to a conceptual and then a physical database model, and generating database schemas. It also supports downstream development activities such as browsing schemas, tables, views, stored procedures, triggers, indexes, and data types and provides wizards to create, delete, or change database objects.

Developers benefit from its ultimate flexibility in launching development from any stage without preset requirements or the need to stereotype a development style. Database developers can introduce advanced aspects of Model Driven Architecture (MDA) and Model Driven Development (MDD) into their development cycle, or they can start using more common direct database development methodologies.

A key aspect of Workspace is that it can take an existing database and reverse-engineer it into a model for capturing new requirements into the existing database schema or migrating a schema to another server. The database can also be pre-populated with sample data for quick testing, eliminating the additional coding it typically takes to generate such data.

SQL Development Features
WorkSpace maintains connection profiles to supported database servers and allows for the simultaneous creation of multiple concurrent connections to multiple database servers. It comes with a full-featured Database Explorer for fast graphical browsing of tables, views, stored procedures, triggers, user-defined functions and event handlers, data types, indexes, Web Services, and other database elements.

It provides vigorous support for editing and handling SQL code (in stored procedures, triggers, and SQL files) with features such as visual SQL development, keyword highlighting, syntax validation, database objects and syntax content assistance, auto-completion, and full-featured debugging. To further assist with repetitive code snippets, the SQL editor is capable of storing oft-repeated code blocks as templates in a customizable, parameterized form to easily substitute varying portions of code - a major productivity boost. These templates can also be shared with other developers. SQL Editor detects the use of temp tables and provides options to handle their automatic creation.

WorkSpace supports the execution of a single SQL statement, multiple SQL statements, or the whole content (whether in SQL script or a database SQL object). The SQL file can be edited using all advanced editing features without a database connection (except for database-level content assistance). It allows switching the database connection context so a SQL file can be run against another database's connection profiles.

To help developers with SQL performance tuning, query execution plan generation (which is graphical for Sybase ASA and Sybase ASE 15.0+) is integrated into WorkSpace. Developers can export table definitions, database SQL objects source code, and query result sets. Table definitions can be saved to a clipboard or as an SQL file and result sets can be saved in various formats (including .csv, .html, and XML).

Developers benefit from the visual execution, testing, and debugging of database SQL objects. Visual execution supports parameter handling, including default value introspection, saving previous passed-in parameter values sets, and detecting and handling dynamic variables in a SQL query execution. For advanced needs, the Eclipse Launch Configuration is a custom execution environment that helps developers define special execution settings to perform functions such as the prior execution of certain DML statements and commands. The command execution history and results are saved for easy browsing and export as needed.

To reduce development-time errors for developers working in an environment mix of ASE, ASA, and IQ Servers, the SQL editing environment includes a SQL portability check feature. It marks the SQL commands in the current object (stored procedure, triggers, etc.) that aren't compatible with the target server. This feature is highly customizable using WorkSpace preferences options.

Service-Centric Development
Sybase WorkSpace enables the transformation of applications to services-centric architectures. There are two faces to service-centric development: the service provider and the service consumer. WorkSpace meets service provider requirements by helping developers provision database stored procedures and SQL commands as services, without writing a single extra line of code or having to know the service technology and infrastructure. These services are hosted in Sybase Unwired Orchestrator, which is seamlessly integrated with WorkSpace for service development, packaging, deployment, and testing.

Debugging & Testing
The Sybase WorkSpace database debugging environment includes extremely robust support for database debugging, covering everything from the most basic to the most advanced requirements. This includes breakpoints management and verification; variable handling such as display and modifications at debug time; debugging multiple connections concurrently; and the ability to watch trigger row data (applies to Sybase ASA only). Database developers can debug certain code without requiring a client and can attach to external applications and get control of their execution and debug them non-intrusively (i.e., without an application change). Debugging is further enhanced with capabilities to view referenced tables in the current breakpoint context and ability to add, edit, and remove data in those tables.

Data Management
WorkSpace supports development across Sybase's core data management platform, including Sybase Adapter Server Enterprise (ASE), Sybase Adaptive Server Anywhere (ASA), and Sybase IQ.

More Stories By Samir Nigam

Samir Nigam is director of engineering in the information technology and solutions group in Sybase. He is currently looking after Data Management and Data Integration tools in Sybase Workspace - Sybase's next generation unified development environment built on Eclipse. Samir holds a Masters in Computer Engineering from the University of Cincinnati.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.