I've included answers to each specific question below:
a) Is PostgreSQL a must for Jitterbit. Can it use for Example, MYSQL as its database?
The current vesion uses PostgreSQL as a repository for the Jitterbit server. We plan to run Jitterbit on other databases moving forward (like MySQL and commercial databases for commercial customers). Of course, Jitterbit can connect to and use any ODBC compliant database to connect and exchange data with including MySQL, Oracle, SQLServer etc.
b) Can i configure project to take more than one source databases and tranform it into a single or multiple Databses? Also can I take data from more than a table and tranform it into one or more tables.
You can confgure a project to have many sources and targets all referencing different databases. In the current version an operation can only use one source and one target, however, you can chain operations that involve different databases. If you have a specific multi-database scenario in mind we would be glad to cover different approaches to integrate them.
Within a transformation you can use mutiple database objects (tables, views, synonyms) in a source or target. You can also use transformation functions to normalize and denormalize between disparate data schemas.
c) What is the integration model of Jitterbit? Is there a API available? Can I use it without Client UI?
Integration models are a very wide topic, so I will try to be as brief as possible here. The current version of Jitterbit supports both batch / schedule based integrations as well as calling Jitterbit directly via its WSDL in an "asynchronous real-time" mode. The underlying architecture allows the open source community to extend the product in many ways from adding transport protocols to new data formats. The product could also be enabled for pub/sub - that's on our todo list.
An API is available for initiating integration using a WSDL.
The client produces XML meta data that could be created outside of the Client UI.
d) What is the use of Copy this Item? I created project with one Op, one trans, one target and one source. I just made a copy of each one. But Deploy will not work.
The purpose of copy is when you have similar definitions and would only need to change a few attributes of a partucular object. The fact that you could not deploy after you performed several copies means that you've either run into a bug, or something is no longer valid in your project.
To determine if something is not valid, the system should tell you when you try to deploy or you can run the Project Validation tool in the View menu.
As long as objects have unique names and their required attributes provided they are deployable. If their names are not unique, then the server assigns a new name to them e.g. Object A would become Object A(1) if it already exists. The client should tell you this.
If you still have an issue deploying, please send us your project files so that we can examine what's going on.
e) Is there a way to make transformation transaction safe? Any roll-back facility?
In the current version there is no explicit mechanism to define what constitues a transaction, however, you can terminate a transformation by raising an error based on a condition you define in the formula builder. Transactional capabilities of Jitterbit will become more apparent when we release the workflow tool which exposes the workflow capabilities of the server. We are targeting that to be released in summer.
f) Is there a i can use Java or Jav Script functions of my own in the Transofrmation definitions
The current version does not expose that functionality, however the formula builder services can call external objects. If that would be useful for you, we can add that to the feature request list on source forge or you can add that yourself and we will prioritize it after our next release.