xsd files only: enough to start writing app. code of a DB-relatedcomponent ?

S

Spendius

Hello,
I've recently started a new project where I've been hired as a
junior Java programmer (know Java but this is a J2EE project
involving Hibernate, Web Services and a few other stuffs). In
fact to start writing code (we use IBM RAD) of our component
me and another guy have only been given a series of .xsd files,
and THAT'S ALL.

These schema definition files aren't very numerous (about 20
or 25 .xsd), but the entities described therein are pretty
complex (many many attributes, complex types, dependencies
etc.). Our component is that which is supposed to deal with
databases connections in this app.

My question: is it usual to proceed this way and provide a
programmer only a few xml schema definitions to have him
starting to code the application ? I have to admit I suffer quite
a lot with this bizness (I'm a newbie to xml too more or less).
Could you give hints of tools (preferably freeware) to install
(plugins to Eclipse... whatever) to find a track from which I
could manage to start developping something ? Draw a database
schema too (the tables, how many, their structure...): is there
a tool to map xsd's to schema tables without too much hassle ?

*Thanks* a lot in advance...
Regards,
Spendius
 
A

Arved Sandstrom

Spendius said:
Hello,
I've recently started a new project where I've been hired as a
junior Java programmer (know Java but this is a J2EE project
involving Hibernate, Web Services and a few other stuffs). In
fact to start writing code (we use IBM RAD) of our component
me and another guy have only been given a series of .xsd files,
and THAT'S ALL.

These schema definition files aren't very numerous (about 20
or 25 .xsd), but the entities described therein are pretty
complex (many many attributes, complex types, dependencies
etc.). Our component is that which is supposed to deal with
databases connections in this app.

My question: is it usual to proceed this way and provide a
programmer only a few xml schema definitions to have him
starting to code the application ?

It's more common than one would like. I've had to work with less...on one
job we had to code up a DAO to communicate with an EIS (this was early days,
before J2EE connectors were supported), and we had to use JDBC to tackle the
EIS database directly, and the database we were interested in was ISAM, and
the client gave us rather cryptic format files for the tables...well, let's
not elaborate. :)

If they are good XSD files consider yourselves lucky. I've done plenty of
projects where between one's superiors and the clients, it was like pulling
teeth to get enough information about file formats, database structure or
interfaces to actually do one's job. And if you actually ever get
documentation about anything consider yourself lucky.
I have to admit I suffer quite
a lot with this bizness (I'm a newbie to xml too more or less).
Could you give hints of tools (preferably freeware) to install
(plugins to Eclipse... whatever) to find a track from which I
could manage to start developping something ? Draw a database
schema too (the tables, how many, their structure...): is there
a tool to map xsd's to schema tables without too much hassle ?

Here's the thing. Nobody in his/her right mind coded up those XSD files by
hand. They were dumped from an existing database with a tool. Where such a
tool exists there's a good chance that there exists a tool to generate a
database schema from an XML schema. Just find out (from the schema or from a
boss) what that target database is, and then look for a tool. For example,
XSD2DB apparently works pretty good for SQL Server, at least as of a few
years ago. If your boss(es) is/are willing to crank out some cash, Altova
XMLSpy should be able to do what you want for a number of RDBMS's.

As a fallback it probably won't hurt to understand something about XML
schemas. Try http://www.w3schools.com/Schema/default.asp

AHS
 
A

Arne Vajhøj

Spendius said:
I've recently started a new project where I've been hired as a
junior Java programmer (know Java but this is a J2EE project
involving Hibernate, Web Services and a few other stuffs). In
fact to start writing code (we use IBM RAD) of our component
me and another guy have only been given a series of .xsd files,
and THAT'S ALL.

These schema definition files aren't very numerous (about 20
or 25 .xsd), but the entities described therein are pretty
complex (many many attributes, complex types, dependencies
etc.). Our component is that which is supposed to deal with
databases connections in this app.

My question: is it usual to proceed this way and provide a
programmer only a few xml schema definitions to have him
starting to code the application ? I have to admit I suffer quite
a lot with this bizness (I'm a newbie to xml too more or less).
Could you give hints of tools (preferably freeware) to install
(plugins to Eclipse... whatever) to find a track from which I
could manage to start developping something ? Draw a database
schema too (the tables, how many, their structure...): is there
a tool to map xsd's to schema tables without too much hassle ?

No - I don't think starting with schemas are that common.

But schemas are not that hard to read.

You may even be able to generate stuff from them.

JAXB should be able to generate Java classes from them.

And a toolk like http://sourceforge.net/projects/xsd2db/
claims to be able to generate database structure.

Arne
 
A

Arne Vajhøj

Arved said:
Here's the thing. Nobody in his/her right mind coded up those XSD files by
hand. They were dumped from an existing database with a tool.

If they are serious about their "information architecture" they will
generate XSD's by hand and generate the rest from it. That will give
much better schemas.

Arne
 
A

Arved Sandstrom

Arne Vajhøj said:
If they are serious about their "information architecture" they will
generate XSD's by hand and generate the rest from it. That will give
much better schemas.

Arne

I'm open to the argument, but I'll have to think about it a bit. I'm used to
a process that starts off with ERD (or an equivalent), and uses that as the
base for generating physical models for specific databases. No XSD involved
at all, except occasionally as a form of documentation. I don't immediately
see why starting with XSD would help.

I can be educated. :)

AHS
 
A

Arne Vajhøj

Arved said:
I'm open to the argument, but I'll have to think about it a bit. I'm used to
a process that starts off with ERD (or an equivalent), and uses that as the
base for generating physical models for specific databases. No XSD involved
at all, except occasionally as a form of documentation. I don't immediately
see why starting with XSD would help.

XSD is suitable for both relational and non-relational data.
Relational is good for databases, but data is not just databases.

Namespaces, includes, type extension etc. are much more
sophisticated than what the typical database offers.

XSD is standardized. Database structures are only almost standardized.
And I doubt that ERD tool file formats are standardized.

Arne
 
R

Roedy Green

My question: is it usual to proceed this way and provide a
programmer only a few xml schema definitions to have him
starting to code the application ?

This sort of complaint begs old timers to give you some war stories.

Mine would be shown a room full of hundreds of thousands of punch
cards with all manner of data about the Peace River Power project (a
giant hydro electric) project that had gone sour as was now in
litigation.

The instruction was this. The lawyers will need to know something
about the project. You will have two hours to prepare the information
in graphics form suitable for courtroom presentation. We have almost
no clue what they will ask.

So I first invented generic tools for cross checking and validating
the data. I figured having clean data was a prerequisite.

Then the JCL (OS 360 scripting) was so voluminous it was often as much
effort as writing the utilities. So I then wrote JCLGEN to generate
it. Very roughly, it simulated MTS (Michigan Time Sharing System)
under OS 360.

I wrote all kinds of generic utilities for sorting, merging, updating,
listing, controlbreaking, tallying, averaging, extracting, filtering.
Much of it mimicked the sort of things we used to do with the old card
unit record equipment. One of the more complicated things was a way of
updating a database that kept track of all changes, who did them, and
when, and why.

Then something astounding happened. My "users" started writing scripts
hundreds of steps long, using my utilities. To them, the huge (for
the day) files there the atomic variables. Never in my wildest dreams
did I imagine my generic utilities being used that way. It boggled my
mind. I provided tools for them to conceptualise the problems at a
level of abstraction BEYOND my own.

To everyone's amazement, we succeeded.

One of things that came from it, used to this day, was the hanging
moss algorithm I invented to speed up plotting on slow mechanical
Calcomp pen plotters.

see http://mindprod.com/jgloss/hangingmoss.html
 
R

Roedy Green

My question: is it usual to proceed this way and provide a
programmer only a few xml schema definitions to have him
starting to code the application ?

Almost never have I worked on a project where the end user provided
anything like a detailed spec. And when they tried to, the biggest job
was convincing them to abandon it and tell me what they REALLY wanted
to do.

You as a programmer have a much better idea of what is feasible, what
can be done for reasonable money, and what the end user will actually
like.

One of the best ways to do this is to get yourself trained to do the
job they want the computer to do. You pick up all manner of things
the user forgets to tell you.

I recall doing this with a bank, and pointing out to them that data
accessible in several sorted lookup orders would be extremely useful.
They said they never thought to ask for such a thing imagining it to
be impossible, since physical records are can be filed in but one
order. On the other hand they wanted me to automate a number of
things very easy for a human but requiring extremely complex and
difficult-to-maintain code. They explained they gave that to me to
automate because it was "easy" and would hence be a trivial task, even
though it took very little human time, and there would be no saving.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top