Ok! But it's not so complited to understand. I will even send a diagram. Le 16 mai 2012 13:50, "Marcin Tustin" <marcin.tus...@gmail.com> a écrit :
> A lot of people seem confused by your architecture. It might help if you > provided a complete (but high-level) description of the architecture of the > system in a single email. > > On Wed, May 16, 2012 at 12:47 PM, Eugène Ngontang <sympav...@gmail.com>wrote: > >> No i'm not inventing a server. >> The application has a centrilzed server (module server installed on a >> dedicated host >> ). >> The dispatches tasks to remote clients (the client module is installed on >> each client host) and receives informations from clients about taks state. >> >> How would you like me to describe or call my app components? >> What is not clear for you in my architecture description? >> How would you call my server module? >> And i'm not saying the database is installed on the same machine as the >> server, even if it could be. >> But only the server can access database directly. >> >> If you like so, What i call server could stand for a central task >> supervisor. >> >> Thanks for attention Jani. >> Le 16 mai 2012 12:01, "Jani Tiainen" <rede...@gmail.com> a écrit : >> >> Hi, >>> >>> Like I said, it all depends what you have and what is the goal. >>> >>> You keep constantly talking about magical "server" that talks with the >>> database. Is this server already existing piece of infrastructure that some >>> programs already use and you like to hook up with that? >>> >>> Or is this server something that you just invented in lack of better >>> knowledge? >>> >>> You talk about state changes (in example you give a task). Must those >>> changes be reflected in "real time" between arbitrary clients? Or is it >>> sufficient that client sees changes at some later point? >>> >>> >>> >>> 16.5.2012 3:30, Eugène Ngontang kirjoitti: >>> >>>> Hi Jani! >>>> >>>> Now you can understand what i meant, but I'm not just try to mec things >>>> complicated. >>>> >>>> I'm not talking here about my technical implementation, but i'm >>>> describing the needs/contraints, and my app architecture to you. >>>> >>>> - The remote clients are at the heart of the software system, since >>>> data stored in the database are destined to them (the server push each >>>> information to the corresponding host) >>>> - When a client starts, it trys to establish a connection with the >>>> server, and if succeed, it retrieves its informations from the server. >>>> The server then send back informations conerning the host executing the >>>> client (the way server retrieves informations from the data base manager >>>> doesn't matter here, it's a technical purpose) >>>> - When a task state changes, it has to notify the server by sending a >>>> packet through the network. The GUI (web browser) has then to display >>>> the new state. >>>> - When a user of the software wants to create a new task on a host, it >>>> uses the GUI for the purpose, and the information has to be sent to the >>>> remote corresponding client/host for processing. >>>> >>>> Tell in my place, what logic would you adopt. I would like idea from you >>>> guys in this case, before go on a first definitive choice. >>>> >>>> I can see web sockets solves so much problems for developpers, and i'm >>>> still looking if it could help achieve correctly what I want to. The >>>> problem of IE < 10 for the instance is not so important. >>>> >>>> Now also, can you try to advise me the best way for serving file using >>>> python-Django (apache, unicorn, ..)? >>>> >>>> Thanks again. >>>> >>>> 2012/5/15 Jani Tiainen <rede...@gmail.com <mailto:rede...@gmail.com>> >>>> >>>> Hi, >>>> >>>> Now it starts to make "sense". >>>> >>>> I just wonder why are you trying to build something so extremely >>>> complicated? >>>> >>>> What is the rationale behind to have additional middleware layer >>>> between web ui and the server backend? >>>> >>>> Wouldn't it be sufficient to have architecture like: >>>> >>>> Browser <-> django middleware <-> remote backend >>>> >>>> Communication between django middle ware and remote backend should >>>> be built on top of some messaging system, like celery + rabbitmq >>>> which gives you quite standard asyncronous communication between >>>> django middleware and remote backend. Of course you might need to >>>> write some adapters on remote side but that's part of the job. >>>> >>>> Only real problem is that if you need to push changes to browser >>>> side. There doesn't exists any really good ways to do that. HTML5 >>>> was supposed to bring websockets to overcome the problem. One big >>>> problem is that only from IE series only IE 10 supports it. All >>>> others, FF, Chrome, Safari has had it for a good while. >>>> >>>> There exists also alternative workarounds like Comet, BOSH, push and >>>> few others. >>>> >>>> So let >>>> 15.5.2012 2:18, Eugčne Ngontang kirjoitti: >>>> >>>> Hi Jani! >>>> >>>> I haven't seen the last statements of your post, whre you say >>>> I'm not >>>> really clear and that i'm building a non-http GUI using Django. >>>> >>>> >>>> OK let's stay on the rendering issue only, and specify things >>>> simply. >>>> This is a simple description of the architecture I want to set >>>> up : >>>> >>>> - A Client (not a user interface). Client here means a module >>>> which is >>>> installed in a remote computer and communicate with the server >>>> via socket. >>>> >>>> - A server listening from several remote client (Here i'm not >>>> talking >>>> yet about http request), and receive informatons from them. In >>>> fact >>>> client must be doing actions and send informations about their >>>> actions >>>> to the server. In the oder hand data to be processed by each >>>> client is >>>> pushed/dispatched by the server. >>>> >>>> - And admin (not Django Admin, but admin in the sens of my app), >>>> destined to be the module allowing use of the application. Then >>>> the >>>> Admin module is part of the server and will proviede a GUI for >>>> manipulating data in the data base. It's in this GUI that users >>>> of the >>>> application will enter their request, by filling a form or >>>> clicking a >>>> link for exemple. And data from the GUI could be stored in the >>>> data >>>> base, while being send to the remote clients (not to be >>>> displayed by the >>>> client, but to be processed). In the same way, informations >>>> comming from >>>> those clients to the server have to be diplayed in the GUI. >>>> >>>> With a graphical GUI, The server could have a reference to an >>>> object >>>> representing my GUI, and it will be done. >>>> But I choose a web GUI for view and administration. It's where >>>> Django comes. >>>> >>>> And my problem is to make my server being running a network >>>> thread, >>>> receiving data from the GUI(web browser) and sending >>>> informations update >>>> to the GUI (for web page content). >>>> >>>> This is really my issue. If all the actions of my server >>>> depended on my >>>> GUI request (http request), I could do what I like behind when >>>> handling >>>> a http request, but while managing http:8080 connexions, the >>>> application >>>> is running another process/thread on another TCP/UDP port. >>>> >>>> And yes I want a web GUI. >>>> >>>> Is why I'm looking the best way to achieve that. We can exclude >>>> Django >>>> web server, as it will not be used in production for the >>>> application >>>> deployment. >>>> >>>> Hope now it's clear for you, and more for the other users. >>>> >>>> Thanks! >>>> >>>> 2012/5/13 Jani Tiainen <rede...@gmail.com >>>> <mailto:rede...@gmail.com> <mailto:rede...@gmail.com >>>> <mailto:rede...@gmail.com>>> >>>> >>>> >>>> Hi, >>>> >>>> There is several ways to achieve what you maybe want to do. >>>> One of >>>> the simplest way is separate frontend (your userinterface) >>>> and >>>> server backend. You can build your Django application as a >>>> service >>>> (xml-rpc, json-rpc, restful). That would give you advantage >>>> to >>>> choose whatever frontend you like. Of course it would add >>>> some overhead. >>>> >>>> On Sun, May 13, 2012 at 1:14 PM, Eugene NGONTANG >>>> <sympav...@gmail.com <mailto:sympav...@gmail.com> >>>> <mailto:sympav...@gmail.com <mailto:sympav...@gmail.com>>> >>>> wrote: >>>> >>>> Hi! >>>> >>>> I'm a python developper, but new in django. >>>> >>>> I'm devolopping a multi clients-server application. >>>> >>>> The server and the clients are communicating via >>>> sockets, The server >>>> receive somme states from clients, and display them in >>>> the User >>>> interface. >>>> In the other hand, the server has to send a >>>> message(packet) to the >>>> client when an event occurs in the GUI, and data are >>>> stored in a >>>> database. >>>> >>>> >>>> Note that Django is mainly built for web (HTTP protocol >>>> based) >>>> applications. In such an environment you run two different >>>> things: >>>> your GUI (usually browser) that is totally ignorant of >>>> server side >>>> (Django). Then you send request to some URL, Django routes >>>> it to >>>> some view and view produces again next output to be >>>> displayed in GUI >>>> (browser again). One of the common functions in the view is >>>> database >>>> manipulation. >>>> >>>> Then I choose to make a web interface where data could >>>> be viewed and >>>> manipulated. And I discovered Django, which fit all my >>>> needs. I >>>> tested >>>> and liked the framework. >>>> >>>> My questions are: >>>> - Can I override the djando admin methods so that i can >>>> not only >>>> customized my views and html page, but also manipulate >>>> objects in >>>> database, so that i can do another action when catching >>>> an event in >>>> the GUi. >>>> For example, taking the django admin tutorial, I would >>>> like to >>>> do and >>>> action like sending a message the user choose "add a >>>> poll". How >>>> can I >>>> do those things? Cause I noticed that method that alter >>>> data in data >>>> base are part of django admin module and cannot be >>>> overriden >>>> >>>> >>>> You shouldn't "fight against admin". If something cannot be >>>> done in >>>> the admin you usually get a way with writing your own stuff. >>>> >>>> - To achieve what I want, i would like to run my server >>>> engine >>>> and my >>>> django admin in two separated threads. How do i run my >>>> admin >>>> module in >>>> a thread? Cause till now i'm using the command line >>>> "python >>>> manage.py >>>> runserver >>>> >>>> >>>> Again your GUI would run "somewhere" (it's not relevant) and >>>> it's >>>> not concern of Django. It's architecture is designed to be >>>> share >>>> nothing - which means that you can run several >>>> threads/processes of >>>> your applications - And those threads/processes are not >>>> aware of >>>> other existence. And it doesn't matter. >>>> >>>> - I also tried to overide tables name, and foreign keys >>>> names. Could >>>> you guys provide me a true life example? >>>> >>>> >>>> Err.. Override what and where? And how you tried to do that? >>>> >>>> - And now in the production step, I would like you guys >>>> to tell me >>>> what to choose for serving files. I would like to with >>>> your >>>> experience >>>> what's better between running a unicorn server or apache >>>> with >>>> mod_wsgi >>>> >>>> I don't know if i'm clear, but i hope. In brief I'd like >>>> to use the >>>> django framework features to design my Gui like i want, >>>> customize >>>> interactions between the gui and the backend, and choose >>>> a good web >>>> server for the production. >>>> >>>> >>>> No you're definitely not clear. My interpretation is that >>>> you want >>>> to build (non-http based) GUI using Django as backend >>>> server. Even >>>> Django isn't exactly designed for such a work it still can >>>> do it. >>>> >>>> If it was something else try to split your questions in >>>> smaller >>>> fragments, perferably with more clearly specified use cases, >>>> workflows and samples of the code. >>>> >>>> Thank you for advance >>>> >>>> -- >>>> You received this message because you are subscribed to >>>> the >>>> Google Groups "Django users" group. >>>> To post to this group, send email to >>>> django-users@googlegroups.com <mailto:django-users@** >>>> googlegroups.com <django-users@googlegroups.com>> >>>> <mailto:django-users@__googleg**roups.com<http://googlegroups.com> >>>> >>>> <mailto:django-users@**googlegroups.com<django-users@googlegroups.com> >>>> >>. >>>> >>>> To unsubscribe from this group, send email to >>>> >>>> django-users+unsubscribe@__goo**glegroups.com<http://googlegroups.com> >>>> >>>> <mailto:django-users%**2bunsubscr...@googlegroups.com<django-users%252bunsubscr...@googlegroups.com> >>>> **> >>>> >>>> <mailto:django-users%__**2bunsubscr...@googlegroups.com<django-users%25__2bunsubscr...@googlegroups.com> >>>> >>>> <mailto:django-users%**252Bunsubscribe@googlegroups.**com<django-users%25252bunsubscr...@googlegroups.com> >>>> >__>. >>>> >>>> For more options, visit this group at >>>> >>>> http://groups.google.com/__**group/django-users?hl=en<http://groups.google.com/__group/django-users?hl=en> >>>> >>>> <http://groups.google.com/**group/django-users?hl=en<http://groups.google.com/group/django-users?hl=en> >>>> >. >>>> >>>> >>>> >>>> >>>> -- >>>> Jani Tiainen >>>> >>>> - Well planned is half done, and a half done has been >>>> sufficient >>>> before... >>>> >>>> -- >>>> You received this message because you are subscribed to the >>>> Google >>>> Groups "Django users" group. >>>> To post to this group, send email to >>>> django-users@googlegroups.com <mailto:django-users@** >>>> googlegroups.com <django-users@googlegroups.com>> >>>> <mailto:django-users@__googleg**roups.com<http://googlegroups.com> >>>> >>>> <mailto:django-users@**googlegroups.com<django-users@googlegroups.com> >>>> >>. >>>> >>>> To unsubscribe from this group, send email to >>>> >>>> django-users+unsubscribe@__goo**glegroups.com<http://googlegroups.com> >>>> >>>> <mailto:django-users%**2bunsubscr...@googlegroups.com<django-users%252bunsubscr...@googlegroups.com> >>>> **> >>>> >>>> <mailto:django-users%__**2bunsubscr...@googlegroups.com<django-users%25__2bunsubscr...@googlegroups.com> >>>> >>>> <mailto:django-users%**252Bunsubscribe@googlegroups.**com<django-users%25252bunsubscr...@googlegroups.com> >>>> >__>. >>>> >>>> For more options, visit this group at >>>> >>>> http://groups.google.com/__**group/django-users?hl=en<http://groups.google.com/__group/django-users?hl=en> >>>> >>>> <http://groups.google.com/**group/django-users?hl=en<http://groups.google.com/group/django-users?hl=en> >>>> >. >>>> >>>> >>>> >>>> >>>> -- >>>> ngont...@epitech.net <mailto:ngont...@epitech.net> >>>> <mailto:ngont...@epitech.net <mailto:ngont...@epitech.net>> >>>> sympav...@gmail.com <mailto:sympav...@gmail.com> >>>> <mailto:sympav...@gmail.com <mailto:sympav...@gmail.com>> >>>> ------------------------------**__----------------------------** >>>> -- >>>> /*Aux hommes il faut un chef, et au*//* chef il faut des >>>> hommes!*/ >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the >>>> Google >>>> Groups "Django users" group. >>>> To post to this group, send email to >>>> django-users@googlegroups.com >>>> >>>> <mailto:django-users@**googlegroups.com<django-users@googlegroups.com> >>>> >. >>>> To unsubscribe from this group, send email to >>>> >>>> django-users+unsubscribe@__goo**glegroups.com<http://googlegroups.com> >>>> >>>> <mailto:django-users%**2bunsubscr...@googlegroups.com<django-users%252bunsubscr...@googlegroups.com> >>>> **>. >>>> For more options, visit this group at >>>> >>>> http://groups.google.com/__**group/django-users?hl=en<http://groups.google.com/__group/django-users?hl=en> >>>> >>>> <http://groups.google.com/**group/django-users?hl=en<http://groups.google.com/group/django-users?hl=en> >>>> >. >>>> >>>> >>>> >>>> -- >>>> Jani Tiainen >>>> >>>> - Well planned is half done and a half done has been sufficient >>>> before... >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Django users" group. >>>> To post to this group, send email to django-users@googlegroups.com >>>> <mailto:django-users@**googlegroups.com<django-users@googlegroups.com> >>>> >. >>>> To unsubscribe from this group, send email to >>>> django-users+unsubscribe@__goo**glegroups.com<http://googlegroups.com> >>>> >>>> <mailto:django-users%**2bunsubscr...@googlegroups.com<django-users%252bunsubscr...@googlegroups.com> >>>> **>. >>>> For more options, visit this group at >>>> >>>> http://groups.google.com/__**group/django-users?hl=en<http://groups.google.com/__group/django-users?hl=en> >>>> >>>> <http://groups.google.com/**group/django-users?hl=en<http://groups.google.com/group/django-users?hl=en> >>>> >. >>>> >>>> >>>> >>>> >>>> -- >>>> ngont...@epitech.net <mailto:ngont...@epitech.net> >>>> sympav...@gmail.com <mailto:sympav...@gmail.com> >>>> ------------------------------**------------------------------ >>>> /*Aux hommes il faut un chef, et au*//* chef il faut des hommes!*/ >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Django users" group. >>>> To post to this group, send email to django-users@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> django-users+unsubscribe@**googlegroups.com<django-users%2bunsubscr...@googlegroups.com> >>>> . >>>> For more options, visit this group at >>>> http://groups.google.com/**group/django-users?hl=en<http://groups.google.com/group/django-users?hl=en> >>>> . >>>> >>> >>> >>> -- >>> Jani Tiainen >>> >>> - Well planned is half done and a half done has been sufficient before... >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Django users" group. >>> To post to this group, send email to django-users@googlegroups.com. >>> To unsubscribe from this group, send email to django-users+unsubscribe@* >>> *googlegroups.com <django-users%2bunsubscr...@googlegroups.com>. >>> For more options, visit this group at http://groups.google.com/** >>> group/django-users?hl=en<http://groups.google.com/group/django-users?hl=en> >>> . >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To post to this group, send email to django-users@googlegroups.com. >> To unsubscribe from this group, send email to >> django-users+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/django-users?hl=en. >> > > > > -- > Marcin Tustin > Tel: 07773 787 105 > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.