Jump to content

Stemon63

uniGUI Subscriber
  • Posts

    487
  • Joined

  • Last visited

  • Days Won

    35

Everything posted by Stemon63

  1. Today those servers are used for remote desktop apps (DELPHI). The same that I HOPE to transform with UNIGUI in next months. Servers have 64 GB RAM and 2 Processor foreach (6-8 cores). Now balancing is made by the Remote desktop software itself. I HOPE to use new features of HyperServer with UNIGUI. For this reason I need more optimized client DBgrids and datasets, for avoid continuous "chatting" on grids scroll with server, that is no problem with few sessions, but the game change if I have thousands. Our competitors have pure web solutions with client-centric and rest services infrastucture with thousands of connections and few resources, solution closest to Tms web core; BUt I like and I need the power of UNIGUI, "lightning" communications and avoiding continuos chatting when not needed. I'm sure Farshad will address the subject. Unigui ROCKS.
  2. Hi Abaksoft, thank you. What I need is a way for perform calculate on ExtJs data store, the same that use Farshad for DBgrids. And it works perfectly. But I need to update the related fields on dataset server, on post record. On grids with fast and intensive input, we need some simple calculation (C=A+B) that I don't want perform on server side, with hight latency. I want to perform and show javascript calculation on client store (and works perfectly) with perfect display in grid. But i need to update that "C" result also on server, or record post. Other "problem" is that every scroll operation in grid call the server. I can avoid that in code, saving resource. But If I need to display the same data also on other editors outside the grid, I need to call the server. With client operation I hope to display grid data (selected record) also on other editors in form, without call the server. A "client" or "server" property for manage if data showed (or calculate) must be performed on client or in "standard" server mode. If I want to manage 50000 sessions I must works on client side, where possible, avoiding continuous "chatting" with server. Farshad have already written on new "client's features" in next releases. Sorry for my English 🙂
  3. 1000 users? We need 50,000 (with 10 servers, Ram 64 GB foreach). A dream? I think not, if Farshad add more client features 🙂
  4. No solution? I need to perform row calculation on client store and update the relative record in server's dataset (on posting).
  5. Hi Farshad, I need to perform fast calculations on grid rows. For example, in a DBGrid row, column3 is sum of column1 and column2; And I need to display updated Column3 value immediately, without delay, on every column1 or column2 input changes. The solution is to perform calc on client store. OK, it works. But HOW I can update then column3 value into dataset (server) on post? There is a client ajax call? (As I have already tell in another thread, it's time to create a "Clientdataset" for perform fast calculations on grids rows (i don't refer to grid totals) without involve the server for every change or select. Especially on some specific situation (a big supermarket cash register or when there are a lot of session with great network traffic). Thanks in advance
  6. Yes, but StringGrid is visual and for display pourpose only. I intend a way for use ExtJs Store (populate from Unigui) as a true client dataset. For lookups, for example. I have a "prototype" code for use store as lookups (but I don't known ExtJS). It's fast. BUt we need a Farshad "native" solution.
  7. It's time to use ExtJs Stores power, with a dedicate components for manage LOCAL (CLIENT) datasets. I need to download "static" memory tables (or queries) to clients for lookups or other needs, freeing up resources on server for every session. We need 2 different type of datasets: server and client one. Unigui already fill the client dataset, but leave open the original resource on server for manage changes and updates. Good is to have a client dataset, for several pourpose, that is disconnected from the server (zip lookups, cities, etc..) or for perform fast calculations on CLIENT side. Better is to have a client dataset with "cached update" features. So we can disconnect and close server query, perform CRUD ALL ON CLIENT, and reconnect to server for apply updates. This can save a lot of resource on server (especially on installation with a lot of users) and very very much network traffic. (now there is a call for every grid scroll or navigation key). UNIGUI is wonderful, but now we need more powerful CLIENT dedicate components in addition to existing ones, for optimize resource and traffic, shifting the load to the client. In the above scenario, many of the tables can be sent to the client (an operation that Unigui already does very well) without having to leave them open on the server. This for every session. That's a nice saving if you have 1000 active sessions :-) (Sorry for my bad english :-))
  8. I think the best solution is to create a client service on localhost that manage all scanning operations; Then you can call the service from javascript and send the result to server with ajax...
  9. HI Hayri, With Stress Tools Unigui works very well... also with a lot of sessions. But I want to avoid the excessive number of calls to the server when they are not needed. In my case, if I don't have data to display in other editors, and if I just have to search in a grid, there is no need to synchronize the server for each row and column movement, because I don't apply calculations or other controls. For this, I have adopted the system already addressed in another thread: function select(sender, selected, eOpts) { return false } For now this resolve my need on simple search lists (40% of application's forms) and optimize server calls :-) Thanks a lot
  10. Hi, I have the same problem in RowEdit mode. If I have an ActionColumn (a button), I need that is visible also on editing. Because that action button perform some calculation during editing or fill some default values.
  11. HI Hayri, I known very well stress tool, but I think that there is time to "rethink" some behaviors, which are harmful when we want publish applications with a high number of users. It is clear that Unigui chats with the server because it has to update both the data and the current record, otherwise the data logic on the server cannot be used. But I think it's time to introduce optional behaviors to perform operations on the client's store data (ExtJS store), with the management of the grids only on the client side, with the possibility of carrying out the cached updates on the "all-in-one" server call, and without any call to server events during input and navigation, unless expressly desired by the programmer. Only in this way will we be able to manage data traffic with the server efficiently, according to our needs. I don't think it's acceptable to have 1000 users scrolling through grids with a lot of data for consultation, and maybe inserting or modifying only a few records, generating continuous traffic with the server. Alternative solutions must be found to "lighten" the situation in certain cases. A kind of "cached updates" between client and server can be an excellent solution, for start. (We also have to deal with competing products on the web, which behave totally differently, as you know...) Sorry for my poor English :-)
  12. Hi, when user scroll records in dbgrids or navigate column by column, Unidbgrid calls continuos server. Tricky Question: in a Big application with a lot of users (thousands), how many users are needed to pull down a server, if all users "play" by scrolling and browsing continuously on a grid (with many records)?
  13. Hi Micromundo, it's time to ask Farshad for a "dedicate" property like "CustomProp" or similar in every Unigui components. You cannot continue to abuse with Hint property! :-) :-) Good job!
  14. Ok Farshad, I'm distressed by that 200 in Max limit... :-) Good job
  15. Hi Farshad, my simple test application have one form and few components. But at startup there are already 300-400 handles in server monitor. Why? Looking at resource savings for large projects, I need to understand why with an empty app there are already so many handles used. Thanks
  16. Hi, can you share your example code for this, so I will try if works for my scenario? Thanks in advance.
  17. Hi, Have you solved your problem? I have the same trouble; sometimes files are showed, sometimes they are blocked with code 405. Any hint? Thanks!
  18. Hi, I need to understand when a new session is created in server code. For avoid unecessary invalid sessions and resource consuption, especially on massive attacks or user hacking attemps, and also when I open sessions from links with additional parameters (via email), I need to understand when exactly the session is created, with the intention to abort the connection if there are wrong information WITHOUT create first a session and then destroy it. I see in other post that in TUniServerModule.UniGUIServerModuleHTTPCommand is used, when connection must be rejected: AResponseInfo.CloseConnection := true; AResponseInfo.CloseSession; At this point, session is already created and then destroyed, or never created ?? I am looking for a way for avoiding session creation on strange situations and directly close connection. Thanks in advance!
  19. Hi Victor, this is my old request "Advanced DBLookups" with a grid into popup and an incremental search or filter when user type into editor...
  20. Hi Mhmda, please share you code with us!!
×
×
  • Create New...