Several business spaces with a single database

If you have questions or if you want to share your opinion about Aware IM post your message on this forum
fjcortes
Posts: 72
Joined: Thu Apr 21, 2011 9:16 pm
Location: Colombia
Contact:

Several business spaces with a single database

Post by fjcortes »

Could it be possible to create modules in AwareIM in such a way that they can be divided into several business spaces with a single database?
Javier Cortes Ayus
Version 9.x (Testing)
OS: Ubuntu 20.04.6 LTS - DB: MySQL
tford
Posts: 4238
Joined: Sat Mar 10, 2007 6:44 pm

Re: Several business spaces with a single database

Post by tford »

Curious what you are trying to accomplish.
Tom - V8.8 build 3137 - MySql / PostGres
ask180
Posts: 160
Joined: Thu Oct 04, 2012 11:40 pm

Re: Several business spaces with a single database

Post by ask180 »

Interesting question.

I have a situation where the organisation wants an enterprise data model implemented, and to have numerous applications accessing it (they want to go back to bespoke development for core functionality -they are well and truly over vendors and SAAS providers). Each of the applications would have a small number of users who manage a subset of the corporate functionality, but from a data perspective, it all needs to come together.

AwareIM would be a time and cost effective solution to this scenario, but currently is constrained by having the bsv tied to its own database (or so I believe - happy to be told I am wrong).

One solution I did think of was to define an external database, and link each AwareIM application to that. I appreciate you lose some great functionality, such as business object groups, but sort of meets the brief.

Does anyone know of any technical reasons why the external database approach wouldn't work (eg: would there be locking issues) ?

All thoughts are welcome.
ask180
Posts: 160
Joined: Thu Oct 04, 2012 11:40 pm

Re: Several business spaces with a single database

Post by ask180 »

I'm surprised that no-one has posted some thoughts here.

To re-focus the question, I'd be interested to read how you have implemented an enterprise set of solutions using AwareIM. I suppose the obvious approach is to build one bsv covering all users and functions, but I was wondering whether anyone saw merit in having multiple, smaller bsv's accessing the enterprise database - smaller number of users per bsv, less change impact for releases etc.
ACDC
Posts: 1138
Joined: Sat Jun 30, 2007 5:03 pm
Location: California, USA

Re: Several business spaces with a single database

Post by ACDC »

I suppose the obvious approach is to build one bsv covering all users and functions,
I would agree, going separate databases could become a nightmare to manage, especially if you have to share data between the applications.

Why would you want to do this other than ease of update, a single DB would be easier in my mind.

Also, an organizational structure built into the design of the system would be key to its success
PointsWell
Posts: 1457
Joined: Tue Jan 24, 2017 5:51 am
Location: 'Stralya

Re: Several business spaces with a single database

Post by PointsWell »

If your data is completely silo-able then it might be possible, but you'd need almost perfect demarcation of data ownership which may be difficult to achieve.

If you use the default application (I.e. the one you created when you set up AIM) all the data would be in the one database, each system that was borrowing data would have to connect to the other system as an external database or via API processes. This would allow you to connect with an external report writer into one database, but obviously as AIM doesn't write foreign keys in the way that the RDMS recognises (reverse engineering the schema for example just pulls a lot of seemingly unrelated tables into an ERD)

You'd technically have the data in the one database (albeit with table names identifying their owning AIM system).

I think this approach would run the risk of being quite brittle though and if you were to migrate it or try to replicate it there would need to be a lot of different controls in place.
ask180
Posts: 160
Joined: Thu Oct 04, 2012 11:40 pm

Re: Several business spaces with a single database

Post by ask180 »

Hi ACDC,

Thanks for sharing your thoughts. I agree that one enterprise database does make data access super simple. I was thinking (though I am not technical, so could be way off) that separate bsv's would improve performance by having them run on different servers etc. They would also eliminate any potential scalability issues which may arise by having a few thousand users accessing the one application.
ask180
Posts: 160
Joined: Thu Oct 04, 2012 11:40 pm

Re: Several business spaces with a single database

Post by ask180 »

Hi Pointswell,

Thanks for sharing your thoughts also. It sounds like having several bsv's accessing one external database is not a good idea, as it is fighting the AwareIm concept.
gernotlg
Posts: 80
Joined: Fri Aug 27, 2021 1:24 am

Re: Several business spaces with a single database

Post by gernotlg »

Perhaps in the future some time.. we could have the ability to allow a BO to be shared between BSV’s, as opposed to sharing the entire database.. by ticking a box, and/or selecting the BO from a different BSV. That way we can create smaller specialised bsv’s .. say for eg. One for the client, one for the company users, one for management or admin… or whatever.. and have the benefits of seperate BSV’s as per other’s comments, as well as maintaining AwareIM’s control over the data/database.

This would be useful, for eg.. by allowing say the customers app (bsv) to be simple and easily maintained and always ‘pretty’ and super user friendly… while at the same time being able to create powerful and detailed functions for company or admin users without having to make sure you haven’t broken the customer’s experience.

One example of sharing data in this case would be documents. It would be extremely useful to be able to give customers access to whatever documents you want (eg.. POD’s or invoices) and keep them maintained from the company’s app, without having to duplicate the data, or try to maintain it in an external db.
V8.8 / Windows / MySQL
rocketman
Posts: 1239
Joined: Fri Jan 02, 2009 11:22 pm
Location: Preston UK
Contact:

Re: Several business spaces with a single database

Post by rocketman »

I define several access levels, each has its own Visuable perspective (use at login). That way I can not only define in the access level what users can and can’t see/edit but also give each access level it’s own set of menus via its VP.

So a mere mortal (member) never gets to even see any of the accounting functions apart from their own account statements, whereas the accountant can see and manipulate all the financial transactions, do period ends etc, and the GDPR compliance officer can tidy up the personal data.

I can also define certain “roles” (just tick boxes on a persons master record) and by using “not present when” at the VP level, can make folders with sub menu items appear for people with different access levels. So a “member” can also be an aircraft officer - but so can an Operations manager or a team leader.

By using these things in combination, the possibilities with AwareIM are endless. There is (in my opinion) no need to change anything.
Rocketman

V8.7 Developer Edition. Server 2016 Standard edition. MySql 5.5
customaware
Posts: 2391
Joined: Mon Jul 02, 2012 12:24 am
Location: Ulaanbaatar, Mongolia

Re: Several business spaces with a single database

Post by customaware »

FWIW.... I would do it all in a single Business Space.

You can compartmentalise to a certain degree using CATEGORY FOLDERS for sure. But modularising in seperate Business Spaces would introduce an entire pandoras box of problems.

You want to avoid dealing with External Database wherever possible and while it is certainly possible to communicate (mind you, I have not tried this but our Mobile Apps created in Appgyver use REST for ALL communications with Aware so I assume BS2BS would also work) it is an extra layer of complexity that needs to be managed.

I have proposed an idea to Vlad to implement the notion of a WorkFlow which would make it much easier to manage large applications.
Similar to a Business Object Group..... in the Left Menu Tree you would see Workflows. You create a New Workflow with a suitable name (Workflows would also be able to have Categories). In each Workflow, you will be able to add Business Objects, Queries, Processes, Documents, Notifications and Services that are used in that Workflow. Elements can be members of multiple WorkFlows. For any Element, there should be a way to see what Workflows it is a member of.
IMO, this would be a really big help, especially when Applications start getting large.

Our Flagship product, EZISTAFF is growing ... see image below .... so introducing WorkFlows would be a boon.
EZISTAFF ERD
EZISTAFF ERD
EZISTAFF.jpg (228.34 KiB) Viewed 27609 times
Cheers,
Mark
_________________
AwareIM 6.0, 8.7, 8.8, 9.0 , MariaDB, Windows 10, Ubuntu Linux. Theme: Default, Browser: Arc
Upcloud, Obsidian....
Image
PointsWell
Posts: 1457
Joined: Tue Jan 24, 2017 5:51 am
Location: 'Stralya

Re: Several business spaces with a single database

Post by PointsWell »

Off topic

Mark, did you manually create all the foreign key relationships to your DB? Or do you have some magic way to create those to then map your ERD?
customaware
Posts: 2391
Joined: Mon Jul 02, 2012 12:24 am
Location: Ulaanbaatar, Mongolia

Re: Several business spaces with a single database

Post by customaware »

Oh, I wish! ;-)

All Manual.
Cheers,
Mark
_________________
AwareIM 6.0, 8.7, 8.8, 9.0 , MariaDB, Windows 10, Ubuntu Linux. Theme: Default, Browser: Arc
Upcloud, Obsidian....
Image
PointsWell
Posts: 1457
Joined: Tue Jan 24, 2017 5:51 am
Location: 'Stralya

Re: Several business spaces with a single database

Post by PointsWell »

eagles9999 wrote: Tue Jul 25, 2023 11:40 pm Oh, I wish! ;-)

All Manual.
Condolences
tford
Posts: 4238
Joined: Sat Mar 10, 2007 6:44 pm

Re: Several business spaces with a single database

Post by tford »

EXCELLENT Workflow idea, Mark!
Tom - V8.8 build 3137 - MySql / PostGres
Post Reply