More on use of External Databases

More on use of External Databases

  
I know there's plenty of discussion on this previously, and I read much of it.  

But I'm still not clear on a couple of things:

1. What do I lose by connecting to an existing DB structure, v.s. managing all of that inside the studio?

2. When I am connecting to an existing DB structure, will the Agile Platform metadata get stored in that database, or in the outsystems database?
Hi Frank,

1. For connecting to existing db structure:
  • You don't know when the database model as change, unless when runtime errors occurs or...
  • Everytime you change the database model, you have to refresh the extension and then all the espaces that consumes that extension.
  • Unless you use SQL/Oracle database direct connector, You'll loose performance (a lot!).
2. When you connect to an existing DB Structure "everything" stays there.
Thank you, Ricardo.

Who can tell me more?   With an external database, where does the metadata get stored?

Is the Agile Platform a very viable platform when a large percentage of the databases have to be managed
Outside?

Frank,

if your architecture has lots of integration with other databases then you should consider to use the...Outsystems Platform, because its a very viable platform even with tons of access and executing queries inside and outside the pltaform database.

The performance problem associated with it, it doesn't have nothing to do with the platform, but it is related with the linked servers performance issues, like the joins with two entities in different database servers.

Cheers,
RNA
> The performance problem associated with it, it doesn't have nothing to do with the platform, but it is related with the linked servers performance issues, like the joins with two entities in different database servers

I'm not following why it wouldn't have native support, at least for Sql Server and Oracle.   I would never use Linked Servers.   I did in the past, and the
performance was not acceptable.
You two are talking past each other...

Ricardo was referring to the server that your deployment is using. In other words, the .NET or Java server side of OSAP is plenty fast, but performance issues are usually the fault of the DB server in one way or another. He was *not* talking about "linked servers" as SQL Server refers to them.

This comes back to the discussion in the other thread... why are you managing your DBs outside of Service Studio? Is this a true, technical requirement? Quite possibly it isn't. While OSAP can be used like this, you are sacrificing a LOT of the "Agile", because if you let OSAP manage the DB, you'll be afraid of making changes that break other apps, and if you make the changes outside of OSAP, you'll need to manually update OSAP either via Integration Studio, Advanced Queries, or a DAL (like WCF Data Services). In fact, if that's your need, I'd say that calling stored procs from Advanced Queries is not a great idea, and you are better off exposing the underlying DB via WCF Data Services, and consuming those in Service Studio, since they can refresh easily, and if something breaks, True Change will go nuts on you and let you fix stuff quickly. Another alternative is to move the DB's within OSAP, and build a Web Service DAL with OSAP, and have your other apps use that Web Service that you've built. That would be the ideal, long term solution, since it removes the requirement for the other stuff to know anything about the underlying DB implementation.

J.Ja
Hello, I am new to OutSystems, but it is a great sysytem.
  When I tried to use external db (Oracle) via Extensions, I could acces/see them imported but
there was a problem with "distributed" queries - having column names in conditions from
"native" and external db at the same time.
Query Test: "...query cannot be simultaneously using Entities (Platform Database) and the follwing foreign entities"
Is it possible to do it or should I use some workaround like copy a view of the external db to mine-native
at regular intervals?
But I am surprised that "Integration Studio" imported table would not allow it.
Thanks,
Jan J.