Hello person smarter than me,
In a previous post (edit: now post #1 of this thread) I asked for help interacting with an object-oriented back end that I had implemented in XBasic. I'm new to Alpha Anywhere, so I may have done things in conflict with the Alpha way. Anyhow, I have re-implemented the back end now so that my interface is via multiple functions that interact with the appropriate objects. Everything that needs to persist and thus be available to every object and function is maintained as a global variable (yeah, I know). This includes an SQL::Arguments object and collections containing SQL statements and corresponding JSON array results. The "controller" functions correspond to user actions, so I have such XBasic functions as GetDeliveries() which returns a JSON array of deliveries retrieved from a MySQL database. I take care of connections in the back end via a config file. GetDeliveries depends, for example, upon results obtained by GetRoute on a prior action. Other subsequent actions depend upon the results from GetDeliveries, again which are stored in a collection of results. I intend for the GetDeliveries results to be displayed in a list control called Deliveries on the Deliveries UX web component. The user will then select a delivery item which will trigger calling of GetDelivery(ItemNo). ItemNo must be passed into GetDelivery which will return the delivery item from the list obtained by GetDeliveries for display on the Delivery UX component. The entire app is intended to be built around this concept. In general, XBasic functions that build lists have no arguments, and those that retrieve an item from the list have one, ItemNo. The list queries depend upon the SQL::Arguments that have been set along the way and maintained globally. I can run the entire back end via a UnitTest script that calls LoginUser, then GetDeliveries, then GetDelivery, etc. in a heirarchy. Now I want to hook up the working back end to a front end with UX components Login, Deliveries, Delivery, etc. I also have table update functions that accept the values to be updated, like UpdateDelivery(par1 As C, par2 As C, par3 As C).
My question here is, "How do I now hook up this back end to a front end comprised of 11 or so UX components (app screens)?" Is it even viable under Alpha Anywhere as I have presumed? Once I get things working on this small app, I hope to employ the same substructure for a much larger app full of very complex queries.
I assume that I need Ajax callbacks for the retrieval of selected items, and the callbacks should return Javascript to display the subordinate UX component along with the data that will populate it. Am I on the right track here? Can someone provide a simple example or explanation of the right way to implement this? I have prototypes of my front end with navigation in place. I have tested the back end. I just don't know how properly to link the two up. I'm willing to change paradigms if needed.
Thanks in advance for your help.
-Frank
In a previous post (edit: now post #1 of this thread) I asked for help interacting with an object-oriented back end that I had implemented in XBasic. I'm new to Alpha Anywhere, so I may have done things in conflict with the Alpha way. Anyhow, I have re-implemented the back end now so that my interface is via multiple functions that interact with the appropriate objects. Everything that needs to persist and thus be available to every object and function is maintained as a global variable (yeah, I know). This includes an SQL::Arguments object and collections containing SQL statements and corresponding JSON array results. The "controller" functions correspond to user actions, so I have such XBasic functions as GetDeliveries() which returns a JSON array of deliveries retrieved from a MySQL database. I take care of connections in the back end via a config file. GetDeliveries depends, for example, upon results obtained by GetRoute on a prior action. Other subsequent actions depend upon the results from GetDeliveries, again which are stored in a collection of results. I intend for the GetDeliveries results to be displayed in a list control called Deliveries on the Deliveries UX web component. The user will then select a delivery item which will trigger calling of GetDelivery(ItemNo). ItemNo must be passed into GetDelivery which will return the delivery item from the list obtained by GetDeliveries for display on the Delivery UX component. The entire app is intended to be built around this concept. In general, XBasic functions that build lists have no arguments, and those that retrieve an item from the list have one, ItemNo. The list queries depend upon the SQL::Arguments that have been set along the way and maintained globally. I can run the entire back end via a UnitTest script that calls LoginUser, then GetDeliveries, then GetDelivery, etc. in a heirarchy. Now I want to hook up the working back end to a front end with UX components Login, Deliveries, Delivery, etc. I also have table update functions that accept the values to be updated, like UpdateDelivery(par1 As C, par2 As C, par3 As C).
My question here is, "How do I now hook up this back end to a front end comprised of 11 or so UX components (app screens)?" Is it even viable under Alpha Anywhere as I have presumed? Once I get things working on this small app, I hope to employ the same substructure for a much larger app full of very complex queries.
I assume that I need Ajax callbacks for the retrieval of selected items, and the callbacks should return Javascript to display the subordinate UX component along with the data that will populate it. Am I on the right track here? Can someone provide a simple example or explanation of the right way to implement this? I have prototypes of my front end with navigation in place. I have tested the back end. I just don't know how properly to link the two up. I'm willing to change paradigms if needed.
Thanks in advance for your help.
-Frank