[sqlalchemy] Re: Any one tried to use SqlAlchemy with XML RPC?
2009/3/19 Andreas Jung li...@zopyx.com: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 19.03.2009 6:49 Uhr, Arthur Pemberton wrote: SQLAlchemy needs a concept of Data Transfer Objects so that it can be easily transmitted and reconstituted as necessary and everyone doesn't have to reimplemented the idea themselves. There are many cases where one might want to transfer a model from a data source on a server side to a client, and vice verse. Which usecases? If you want to transfer objects over the wire from one app to another, you can also attach the database directly. You you work with serialized versions of the objects in some way...should be sufficient enough for most cases. Any use case when the client doesn't have access to the database, but the client app needs to manipulate the data of the model but not the model itself. Client requests something Server uses SQLAlchemy to query data Server sends resulting entity collection to client via some form of RPC Only the entity data is transmitted Client makes modification, and wants to save the changes Model, with changes is sent back to server Server remaps it and saves it The client shouldn't be able to save the entity from their end. But the developer shouldn't have to worry about making the entity lighter every time as well. I made two attempts at a similar question myself: http://www.mail-archive.com/sqlalchemy@googlegroups.com/msg10642.html http://www.mail-archive.com/sqlalchemy@googlegroups.com/msg12582.html -- Fedora 9 : sulphur is good for the skin ( www.pembo13.com ) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Any one tried to use SqlAlchemy with XML RPC?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 19.03.2009 8:32 Uhr, Arthur Pemberton wrote: 2009/3/19 Andreas Jung li...@zopyx.com: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 19.03.2009 6:49 Uhr, Arthur Pemberton wrote: SQLAlchemy needs a concept of Data Transfer Objects so that it can be easily transmitted and reconstituted as necessary and everyone doesn't have to reimplemented the idea themselves. There are many cases where one might want to transfer a model from a data source on a server side to a client, and vice verse. Which usecases? If you want to transfer objects over the wire from one app to another, you can also attach the database directly. You you work with serialized versions of the objects in some way...should be sufficient enough for most cases. Any use case when the client doesn't have access to the database, but the client app needs to manipulate the data of the model but not the model itself. Client requests something Server uses SQLAlchemy to query data Server sends resulting entity collection to client via some form of RPC Only the entity data is transmitted Client makes modification, and wants to save the changes Model, with changes is sent back to server Server remaps it and saves it The client shouldn't be able to save the entity from their end. But the developer shouldn't have to worry about making the entity lighter every time as well. As said: serialization is easy to implemented and JSON is your friend for transfering stuff over the net. Andreas -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAknB9YoACgkQCJIWIbr9KYxewACfdrBHZ82+gEbV8lGavkXe7zWe RpIAoIXGlqhitwwiRFgWdVzGbT8sT/8P =sbo+ -END PGP SIGNATURE- --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~--- begin:vcard fn:Andreas Jung n:Jung;Andreas org:ZOPYX Ltd. Co. KG adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany email;internet:i...@zopyx.com title:CEO tel;work:+49-7071-793376 tel;fax:+49-7071-7936840 tel;home:+49-7071-793257 x-mozilla-html:FALSE url:www.zopyx.com version:2.1 end:vcard
[sqlalchemy] Re: Any one tried to use SqlAlchemy with XML RPC?
On Thu, Mar 19, 2009 at 2:34 AM, Andreas Jung li...@zopyx.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 19.03.2009 8:32 Uhr, Arthur Pemberton wrote: 2009/3/19 Andreas Jung li...@zopyx.com: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 19.03.2009 6:49 Uhr, Arthur Pemberton wrote: SQLAlchemy needs a concept of Data Transfer Objects so that it can be easily transmitted and reconstituted as necessary and everyone doesn't have to reimplemented the idea themselves. There are many cases where one might want to transfer a model from a data source on a server side to a client, and vice verse. Which usecases? If you want to transfer objects over the wire from one app to another, you can also attach the database directly. You you work with serialized versions of the objects in some way...should be sufficient enough for most cases. Any use case when the client doesn't have access to the database, but the client app needs to manipulate the data of the model but not the model itself. Client requests something Server uses SQLAlchemy to query data Server sends resulting entity collection to client via some form of RPC Only the entity data is transmitted Client makes modification, and wants to save the changes Model, with changes is sent back to server Server remaps it and saves it The client shouldn't be able to save the entity from their end. But the developer shouldn't have to worry about making the entity lighter every time as well. As said: serialization is easy to implemented and JSON is your friend for transfering stuff over the net. I didn't say that that wouldn't work. I said that that is a common enough need that it should probably be fitted into SQLAlchmey so everyone doesn't have to reinvent it, So that I can transfer my entities in TwistedMatrix as easily as in XML-RPC or JSON-RPC -- Fedora 9 : sulphur is good for the skin ( www.pembo13.com ) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Any one tried to use SqlAlchemy with XML RPC?
The actual reason why I need XML RPC is not because I need RPC. Actaully I need XML. I need to represent SA objects in text format so systems using programming language other than python could decode them. On Mar 19, 1:27 pm, Andreas Jung li...@zopyx.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 19.03.2009 5:24 Uhr, 一首诗 wrote: This is my ORM class definition: #= class User(Base): __tablename__ = 'b_taa_user' user_id = Column(Integer, primary_key=True, autoincrement=True, nullable=False) # 用户ID user_name = Column(Unicode(255), unique=True, nullable=False, server_default=) # 用户名称 user_password = Column(Unicode(255), nullable=False, server_default=) # 用户密码 email = Column(Unicode(255), nullable=False, server_default=) # 邮 箱 mobile = Column(Unicode(255), nullable=False, server_default=) # 手机 phone = Column(Unicode(255), nullable=False, server_default=) # 电 话 def __init__(self, user_name = ): self.user_name = username #= I made some debug by the code below: #= #!/usr/bin/python import xmlrpclib from blf.model import User u = User('333') s = xmlrpclib.dumps((u,), methodresponse=True, allow_none=True) print s #= Finally, I found that the first problem is : xmlrpclib only serialize type *instance*. But to my surprise, when I check type of u, it's a *class* object. Don't know why ... Sending mapped instances over XMLRPC is basically nonsense. XMLRPC is designed for transporting elementary datatypes over the wire in order to invoke a remote method. It is not designed for sending instances of some class and not for sending Python pickles. No idea what you are trying to accomplish. Consider converting a mapped instance to dict and sending this dict serialized in JSON format to a remote XMLRPC server. - -aj -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (Darwin) Comment: Using GnuPG with Mozilla -http://enigmail.mozdev.org/ iEYEARECAAYFAknB17UACgkQCJIWIbr9KYwARgCeJ1VuU6Gi9p+GVkYQzZiVWMd3 aJoAoMwJUc8lIyOBhDwJVq3/L3QzuRoK =aihX -END PGP SIGNATURE- lists.vcf 1KViewDownload --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Any one tried to use SqlAlchemy with XML RPC?
This is my ORM class definition: #= class User(Base): __tablename__ = 'b_taa_user' user_id = Column(Integer, primary_key=True, autoincrement=True, nullable=False) # 用户ID user_name = Column(Unicode(255), unique=True, nullable=False, server_default=) # 用户名称 user_password = Column(Unicode(255), nullable=False, server_default=) # 用户密码 email = Column(Unicode(255), nullable=False, server_default=) # 邮 箱 mobile = Column(Unicode(255), nullable=False, server_default=) # 手机 phone = Column(Unicode(255), nullable=False, server_default=) # 电 话 def __init__(self, user_name = ): self.user_name = username #= I made some debug by the code below: #= #!/usr/bin/python import xmlrpclib from blf.model import User u = User('333') s = xmlrpclib.dumps((u,), methodresponse=True, allow_none=True) print s #= Finally, I found that the first problem is : xmlrpclib only serialize type *instance*. But to my surprise, when I check type of u, it's a *class* object. Don't know why ... On Mar 18, 6:50 pm, Noah Gift noah.g...@gmail.com wrote: On Wed, Mar 18, 2009 at 11:46 PM, 一首诗 newpt...@gmail.com wrote: Hi, I am trying to pass SqlAlchemy objects to client with XML RPC, but it seems that that's not very easy. It depends on what you are trying to do, and what error messages you are getting, for anyone to help. I am using XML RPC with SQLAlchemy right now, and I am, in fact, passing objects in. I wrote a metaclass that calls back to XML RPC, and takes the ugly nested dictionary and returns back a nifty class pre-populated with attributes I need to fill out. When I set each attribute, it then populates __dict__. At that point, I simply pass that back to XML RPC. Works great. The reason why I have to do this is that my client is written in javascript and running on a web page. So it could not use anything other than text based protocols, such as XML RPC, SOAP, or JSON. I tried pyamf, and it works pretty good with SA, but I can't use amf with javascript. Is there any possible solutions with my problem? -- Cheers, Noah --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Any one tried to use SqlAlchemy with XML RPC?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 19.03.2009 5:24 Uhr, 一首诗 wrote: This is my ORM class definition: #= class User(Base): __tablename__ = 'b_taa_user' user_id = Column(Integer, primary_key=True, autoincrement=True, nullable=False) # 用户ID user_name = Column(Unicode(255), unique=True, nullable=False, server_default=) # 用户名称 user_password = Column(Unicode(255), nullable=False, server_default=) # 用户密码 email = Column(Unicode(255), nullable=False, server_default=) # 邮 箱 mobile = Column(Unicode(255), nullable=False, server_default=) # 手机 phone = Column(Unicode(255), nullable=False, server_default=) # 电 话 def __init__(self, user_name = ): self.user_name = username #= I made some debug by the code below: #= #!/usr/bin/python import xmlrpclib from blf.model import User u = User('333') s = xmlrpclib.dumps((u,), methodresponse=True, allow_none=True) print s #= Finally, I found that the first problem is : xmlrpclib only serialize type *instance*. But to my surprise, when I check type of u, it's a *class* object. Don't know why ... Sending mapped instances over XMLRPC is basically nonsense. XMLRPC is designed for transporting elementary datatypes over the wire in order to invoke a remote method. It is not designed for sending instances of some class and not for sending Python pickles. No idea what you are trying to accomplish. Consider converting a mapped instance to dict and sending this dict serialized in JSON format to a remote XMLRPC server. - -aj -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAknB17UACgkQCJIWIbr9KYwARgCeJ1VuU6Gi9p+GVkYQzZiVWMd3 aJoAoMwJUc8lIyOBhDwJVq3/L3QzuRoK =aihX -END PGP SIGNATURE- --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~--- begin:vcard fn:Andreas Jung n:Jung;Andreas org:ZOPYX Ltd. Co. KG adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany email;internet:i...@zopyx.com title:CEO tel;work:+49-7071-793376 tel;fax:+49-7071-7936840 tel;home:+49-7071-793257 x-mozilla-html:FALSE url:www.zopyx.com version:2.1 end:vcard
[sqlalchemy] Re: Any one tried to use SqlAlchemy with XML RPC?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 19.03.2009 6:49 Uhr, Arthur Pemberton wrote: SQLAlchemy needs a concept of Data Transfer Objects so that it can be easily transmitted and reconstituted as necessary and everyone doesn't have to reimplemented the idea themselves. There are many cases where one might want to transfer a model from a data source on a server side to a client, and vice verse. Which usecases? If you want to transfer objects over the wire from one app to another, you can also attach the database directly. You you work with serialized versions of the objects in some way...should be sufficient enough for most cases. - -aj - -- ZOPYX Ltd. Co. KG - Charlottenstr. 37/1 - 72070 Tübingen - Germany Web: www.zopyx.com - Email: i...@zopyx.com - Phone +49 - 7071 - 793376 Registergericht: Amtsgericht Stuttgart, Handelsregister A 381535 Gesch -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAknB3j4ACgkQCJIWIbr9KYysHQCfTuXFRZDIF4IBsL6UGA7ZYbEO CPIAoOFK4wA3mAmfuoR6byTWh9ngUpGc =U7aQ -END PGP SIGNATURE- --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~--- begin:vcard fn:Andreas Jung n:Jung;Andreas org:ZOPYX Ltd. Co. KG adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany email;internet:i...@zopyx.com title:CEO tel;work:+49-7071-793376 tel;fax:+49-7071-7936840 tel;home:+49-7071-793257 x-mozilla-html:FALSE url:www.zopyx.com version:2.1 end:vcard