Dienstag, 1. Juli 2008

Time to say Goodbye Borland...

well, it's time to say goodbye…

I've called today www.codegear.com and, no surprise, I see the Embarcadero sign…

Last week I prepared a powerpoint-slide about one of my db-projects for a company and on my about-slide I inserted my experience and some other informations. After typing "1983 UCSD-Pascal" I realized that I have 25-years pascal experience. That's a long time, especially in the IT.
My first pascal with with the p-code card on a TI-99/4A computer from Texas Instruments, 16-bit in 1983 ....

I use Pascal from Borland Inc. from Turbo Pascal on Borland Pascal towards Object Pascal (started with Delphi 1 ... Delphi 2007 ehm Rad Studio 2007).
Meaning Borland & Pascal is for me a relation in the past and it's hard to remove the "Borland" but I'll make it....

I have a good feeling about the new company...

Both companies are not too big... this is for me an insurance that they don't include parts and destroy the other products of the smaller company.

Both companies are expert in a special market ... CodeGear have learned from the past and dropped some products (e.g. quattro pro, dBase, Paradox) that don't fit to the primary area of the company.

Now CodeGear offer IDE's for the market and with InterBase and BlackfishSQL smart and high quality databases. EMBT offers database-related stuff ....

I know the products from my trainings where I teach Oracle and MS-SQL administration and sometimes SQL-language and the quality are okay.

Both companies don't support only one OS/DB or so ....

Before I get some feedback about my opinion: I must admit that I'm a database-junkie, meaning I create over 95% db-related applications with InterBase, BlackfishSQL and Oracle (and perhaps in the future we'll see in the bigger db-market less Oracle and more MS-SQL, the market change IMO from Oracle more and more to MS-SQL). I compare it sometimes with the NDS from Novell and ADS from Microsoft.. The ADS isn't on the same level like the NDS but the administration is easier, e.g. in Oracle you need more expert-know then in MS-SQL to backup or
restore, with BF/IB you need less to nothing know-how but the db-market is very complex.

Best wishes to the Embarcadero CodeGear-team in Scotts Valley and all
the best for the next versions of RAD Studio!

After some quality problems in Delphi 8 and 2005 the team have found the right way and they improve the quality and the performance!

edit ... here a picture  the p-code-card for the expansion-box from Texas Instruments:

and the TI-99/4A have many languages in 1981/83:

http://thomas.pfister.googlepages.com/MeinTI.jpg   (German, I know but readable...)

Mittwoch, 11. Juni 2008

Rave 8 is around the corner...

After a long time of development is the version 8 of Rave very soon ready (or RTM-ready..).

There are some new, exciting features in the version:

- A new debugger for scripts in your visual reports
- Native charting components and classes for both code based and visual reports
- Report Summary expert to print out the contents of your visual report designs
- Properties on mirrored components can now be overridden for even more reuse flexibility

With Rave 8 have Nevrona Designs to Rave BEX version available:
Rave 8 Developer and Architect

The developer edition is like the old BEX-version Rave 7. Rave Reports Architect will further include a license to ship an end user version of the Rave Reports visual designer with your applications (EUDL) and an unlimited user version of the Rave Reports Server.

Rave 8 will support Delphi 4, 5, 6, 7, C++Builder 4, 5 & 6, BDS 2005, 2006 and RAD Studio 2007.

Samstag, 31. Mai 2008

Blackfish SQL deployment license is changed ...

CodeGear have in the RAD Studio 2007 (and JBuilder, but this isn't my world) the new database Blackfish SQL for the .net-Framework included. BF in the package is not only a developer edition it's a real deployment licences with some (IMO small) restrictions. I've written some informations about this database here some weeks ago.
Beside the "big" restriction (Memory, Storage-Size, connection-limit and remote/local) CodeGear have included a text about the one (1) CPU on the destination machine. This text "provided each computer has only one (1) CPU" has been removed from sections 2.2(a) and 2.2(b).

This are great news, not only that the CPU-text is removed, the bigger news is for me, that CodeGear listen to the Customer AND had made a fast decision to help us, the developer who works and develop with Rad Studio, dbx4 and BlackfishSQL.

Congrat CodeGear to this sign!

Mittwoch, 14. Mai 2008

PageNumInit in Rave

I'm near the finish of my Rave-Book. At the moment there are two chapters not ready: Rave Scripting and Rave with VCL for the web (or better known of IntraWeb). I'll include the new features of Rave 8 for the scripting (with the new debug options and more) and I must look into IntraWeb.

I've received a question from a company, where I made some weeks ago a Rave-training, about the PageNumber. The report should start on overy group-header with the page-number 1 and increment till the next group-header will printed. I've made a short example to demonstrate the solution. But the PageNumInit-component can do more, I've added in the meantime this chapter with the other the possibilites.

Important is the correct order of the components in the tree on the right side!!

The rav-file is here for downloading, you need only the good old BDE with the DBDemos-alias and there the orders.db-table, that's all. I've used the DriverConnection inside the Rave-Project, meaning no TTable is needed. But Rave BE - users must open the RAV-file with the running Delphi-IDE.

Donnerstag, 8. Mai 2008

Borland Object Vision 2 ...

At the moment everybody write about the Embarcadero-deal.
I have a big advantage: I make Oracle-trainings and demonstrate since 2000 or so the products from Embarcadero in the trainings and can pronounce the word correct ...
I'm happy with this new constallation! I think with this combination we'll get in the future a lot of powerful tools for db-work, Delphi for writing db-applications, db-admin and developing tools and this remembered me on a discussion with Nick Hodges in autumn 2006 in Scotts Valley (a sunny day in the forest of northern California). I tried to explain that Delphi is like a swiss knife, you can use it for every type of restaurant, picknick, survival-tour and so on. But if you go to a steak-house or a fish-restaurant (e.g. in Santa Cruz on the coast) you'll get special knifes and not a general knife... With this deal I hope we'll get from Code_and_Database_Gear some special (db-)knifes to create db-oriented application. And Delphi is and will be the best db-oriented IDE. With this IMO it's possible that many developers stays AND new developers will go with Delphi in the db-future .... and I hope to see this year a DBArtisan-Version for BlackfishSQL ....

But back to the topic.... Anyone remember "Borland Object Vision" ??

I reorganize at the moment my homeoffice and found a great treasure: Object Vision from Borland 1992. It's a long time ago and on the package is the old address from Borland included.
I tried to install it on my XP-workstation and, yeah, it works like in the good old past. Now I have a QuadCore with 3 GHz in 1993 I had a Pentium Pro (I think so) with 200 MHz. No
compare with the speed now....
I loved this application, my way from the DOS-Pascal to the Windows Programming. David I had forgot this tool in his 25-years-blog ....

Okay, you can't compare this with a real IDE or a programming language. The result for the customers was a form-oriented application with Paradox in the Background and a event-oriented developement. Don't forget: 1992, over 16 years old, older then Delphi 1 on Windows 3.1x

Here from the example-folder some impressions of Object Vision. You'll see the events-area, the paradox-engine (not BDE, older ....).


Donnerstag, 24. April 2008

Blackfish SQL ....

Why should a developer choose Blackfish SQL instead of other databases for a Client/Server-Project with Rad-Studio 2007??

I made yesterday on the Delphi CodeCamp in Frankfurt, Germany a training about Blackfish SQL and thought that I’ll blog about one of my favourite database. Every developer with RAD Studio 2007 has the Blackfish SQL – server on the machine and the service is normaly active… but many don’t know details about BF….

Blackfish SQL for the .net-Framework and for the Java platform was introduced with the latest version of Delphi ehm Rad Studio 2007. The developer can think now, well, this is a complete new database with release number 1.0 …

This is wrong because Blackfish SQL is the successor of the well-known database JDataStore in the Java-area from Borland/CodeGear. The latest number of JDataStore was 7 and with increment we’re on Version 8 with Blackfish SQL for the Java platform. For the .net framework we’re IMO on the Version 8, too. The explanation is that the kernel of BF is the same like for Java because the guys at CodeGear had translated the Java code into C #code and not write the database from scratch with a “Java to C# translator” http://blogs.codegear.com/steveshaughnessy/2007/09/06/38776

This is important to know because everyone has normally problems to use any application or database with the version number 1.0.

Before we go into more details of BF it’s important to define the position in the database-area. We have normally four areas in the database-market:

  • Enterprise
  • Standard
  • Desktop
  • Embedded

And here I see one of the advantages of BF: You can use it in Standard, Desktop and Embedded.

My biggest BF - database in a production environment is in the meantime (running since last summer) 1,2 GB big, there are a lot of NDR-Files in VarBinary-fields stored (NDR-files are created by Nevrona Rave Reports and they included the complete generated report and from this NDR-file you can render to PDF, HTML and printing to printer). My other project isn't finished but use the BF-database to store and read Flash-movies (more about this exciting project in some weeks here!).

The Enterprise-area isn’t so important because we have only 3 players and it would be very naïve to fight in the market against the real big players like Oracle, IBM, Sybase or Teradata. I haven’t made for myself the decision if MS-SQL is ready for the Enterprise-market…but with version 2005 the opened the door of this area.


Back to Blackfish SQL…


With BF you can use one database on all three areas and that is a great advantage because you haven’t any limitations’ of the database. BF supports all the three areas. Normally a database have one or two areas and the other areas perhaps are supported but with reservation. With Blackfish there are no reservations and you using the full power of every area!


The database is fully SQL-92 compliant with supporting all four isolation levels specified by the ANSI/ISO SQL (SQL/92) standards.


OS

Support the .net-framework and the Java platform. The datafiles of BF are binary-compatible and with this information it’s clear that you can copy (e.g. with FTP) the database between the two frameworks…


Programming


This is IMO the one of the biggest advantage: You can write all your database-objects like Trigger and StoreProcedures with your IDE, meaning with Delphi.net or other IDE’s in the .net-Framework and JBuilder or other IDE for the Java platform. You must only create a .net-Package and this assembly is to register in the Blackfish-database with “create method”. And now you can extend your SQL with Pascal. And compared with the UDF in InterBase it’s more “secure” that on an error not the server-process or the OS will crash…

In one of my next blog's I'll show you some examples of SP and Trigger, created with Delphi.net and running on Blackfish SQL server.


You can connect with ADO.net2 and dbx4 to the database, meaning from every application in your RAD Studio (Win32, VCL.net, IntraWeb, ASP.net,…).


And on the end of my blog the best … With RAD Studio you’ll get not only a developer edition of the database, like InterBase. You get a Blackfish SQL Studio Pro Edition for deployment in any production environment without any runtime-costs…


With the Enterprise / Architect Version of RAD Studio 2007 you have the following restrictions:


5 User / 20 connections

2 GB database-size

1 CPU (with unlimited cores)


With Pro Edition

1 local user / 4 connections

512 MB database-size

1 CPU (with unlimited cores)


The RAD-Pro developer can now update all the paradox-application to Blackfish SQL and the RAD-Enterprise-developer can create C/S-application on a server with 5 user-connection and 2 GB database-size. If this are limits a problem, you can buy unlimited versions, look on the codegear-page for price-info.

Look into the Developers Guide of Blackfish SQL (it’s on your RAD Studio DVD) and in the Codegear Developer Network. You’ll find some interesting articles like the following:

http://dn.codegear.com/article/36955

http://blogs.codegear.com/steveshaughnessy/2007/09/06/38776

Montag, 14. April 2008

Source beautifier for SQL statements

A lot of developers uses source code beautifier tools for their source code, e.g. our ObjectPascal. But I found a nice online-tool for SQL-statements. You can not only format the SQL-command for the Database-server (Oracle, MSSQL and other) like the following result:
SELECT HHJ,
CUSTOMER,
ORDER_ID
FROM TABLE

On the right side you have some options for formatting.

You can format this SQL-Statement for Delphi .....

var1 := 'SELECT HHJ,' ;
var1 := var1 + ' CUSTOMER,' ;
var1 := var1 + ' ORDER_ID' ;
var1 := var1 + ' FROM TABLE' ;

And other languages... e.g. for C# you can choose between
String var1 = "SELECT HHJ," ;
var1 = var1 + " CUSTOMER," ;
var1 = var1 + " ORDER_ID" ;
var1 = var1 + " FROM TABLE" ;
and
StringBuilder var1 = new StringBuilder("SELECT HHJ,");
var1.Append(" CUSTOMER,");
var1.Append(" ORDER_ID");
var1.Append(" FROM TABLE");


I found this very usefull for formatting my SQL-statement to read it sometimes later better..

Here you'll find the Online SQL and PL/SQL Formatter