Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 87030 invoked from network); 7 Nov 2004 20:49:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 7 Nov 2004 20:49:56 -0000 Received: (qmail 92691 invoked by uid 500); 7 Nov 2004 20:49:48 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 92635 invoked by uid 500); 7 Nov 2004 20:49:48 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 92621 invoked by uid 99); 7 Nov 2004 20:49:48 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from [212.85.125.162] (HELO v07274.home.net.pl) (212.85.125.162) by apache.org (qpsmtpd/0.28) with SMTP; Sun, 07 Nov 2004 12:49:47 -0800 Received: from gprs7.idea.pl (HELO ?172.20.130.70?) (lgawron.mobilebox@home@217.116.100.249) by matrix15.home.net.pl with SMTP; 7 Nov 2004 20:49:34 -0000 Message-ID: <418E8A59.9050803@mobilebox.pl> Date: Sun, 07 Nov 2004 21:49:29 +0100 From: Leszek Gawron User-Agent: Mozilla Thunderbird 0.9 (Windows/20041103) X-Accept-Language: en-us, en MIME-Version: 1.0 To: dev@cocoon.apache.org Subject: Re: [OT]DTO Pattern (was Re: [RT] Attribute Rendering and CForms Convertors) References: <5E091A68F794974CAF431CA31F5AF2CC11E99F@server.bizzdesign.nl> <4187D02F.9090209@nada.kth.se> <418A3C62.7020800@apache.org> <418B4E93.5050808@nada.kth.se> <418B53C3.9020000@mobilebox.pl> <418DF5D1.6060005@gmx.de> <418E4BA0.2000206@mobilebox.pl> <418E5A05.6080302@dslextreme.com> <418E7876.8040409@mobilebox.pl> <418E7E43.3000203@dslextreme.com> In-Reply-To: <418E7E43.3000203@dslextreme.com> Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="------------ms000903020407030102070802" X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N This is a cryptographically signed message in MIME format. --------------ms000903020407030102070802 Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: 7bit Ralph Goers wrote: > Leszek Gawron wrote: > >> There is one big difference when using Hibernate(d) model: You do not >> have to use DTOs so it's easier to scale the system but harder to >> enhance particular views with some specially rendered data. >> >> I try to avoid DTO pattern as much as I can. > > > This is completely off topic. > My guess is that your system has a presentation tier and a database? We > want to have all our business logic in a separate tier from > presentation. In our case this happens to be an EJB container. Thus our > database structure, our entity model and what is actually returned to > the presentation tier might be very different things. I don't see how > you can do that if you are going straight to Hibernate. Data passed from view mostly consists of hibernate entities (and a bunch of configuration variables but that doesn't count). Almost whole system are: - CRUD views (create/update/delete) handled by CForms - entity listings that allow proper navigation The remaining 10% was of course most interesing to implement. There are some cases (i.e. reporting, complex data manipulation) when a special structure is being passed to the view that aggregates a lot of information from different entities. That probably is something very close to your DTO but as it gathers very different data I wouldn't call them DTO (Still I might have a bad idea about what really DTO is). When using O/R tool and having a model that defines a lot of lazy loaded depencidencies you rarely need a custom DTO for the view. -- Leszek Gawron lgawron@mobilebox.pl Project Manager MobileBox sp. z o.o. +48 (61) 855 06 67 http://www.mobilebox.pl mobile: +48 (501) 720 812 fax: +48 (61) 853 29 65 --------------ms000903020407030102070802 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIIWzCC AogwggHxoAMCAQICAw1hEjANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UE ChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNv bmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwHhcNMDQxMTA3MDEyNDQzWhcNMDUxMTA3MDEyNDQz WjBpMR8wHQYDVQQDExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSMwIQYJKoZIhvcNAQkBFhRs Z2F3cm9uQG1vYmlsZWJveC5wbDEhMB8GCSqGSIb3DQEJARYSbGdhd3JvbkBhcGFjaGUub3Jn MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3aECFZlTkz3Wva3cWGhrxnKVKWXofIwfH HuEB2mSyf7tlYMfrtWPCVRvVl7pTvCkCLnlHi8Jo9hPQ4SeH4uaVym2+X30WieYTbqHLi/8Q UfKtNBS61ppIpQcoslnOOo9mJpaK90xS3YfDLo93PfPFvIlm6XRGtSBy8zWiVvBfGQIDAQAB o0UwQzAzBgNVHREELDAqgRRsZ2F3cm9uQG1vYmlsZWJveC5wbIESbGdhd3JvbkBhcGFjaGUu b3JnMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEEBQADgYEAMaZ7giBGcKqsqq4gpjT4rdZp wSgA5oMDckGp+0Qya+7YLydr0DKWcftMHzjlQ5mJtr6J2rTQkZ8joskNGgPaGLvDUjSWbhpQ Eof1pbyyuuxnAoBPGlCA6I3beyrn2xqHfN7JEcDgCRB6K/zbZUfELoheQmZFHfJHiMpmrCzt g9swggKIMIIB8aADAgECAgMNYRIwDQYJKoZIhvcNAQEEBQAwYjELMAkGA1UEBhMCWkExJTAj BgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA0MTEwNzAxMjQ0M1oXDTA1MTEwNzAx MjQ0M1owaTEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEjMCEGCSqGSIb3DQEJ ARYUbGdhd3JvbkBtb2JpbGVib3gucGwxITAfBgkqhkiG9w0BCQEWEmxnYXdyb25AYXBhY2hl Lm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAt2hAhWZU5M91r2t3Fhoa8ZylSll6 HyMHxx7hAdpksn+7ZWDH67VjwlUb1Ze6U7wpAi55R4vCaPYT0OEnh+Lmlcptvl99FonmE26h y4v/EFHyrTQUutaaSKUHKLJZzjqPZiaWivdMUt2Hwy6Pdz3zxbyJZul0RrUgcvM1olbwXxkC AwEAAaNFMEMwMwYDVR0RBCwwKoEUbGdhd3JvbkBtb2JpbGVib3gucGyBEmxnYXdyb25AYXBh Y2hlLm9yZzAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GBADGme4IgRnCqrKquIKY0 +K3WacEoAOaDA3JBqftEMmvu2C8na9AylnH7TB845UOZiba+idq00JGfI6LJDRoD2hi7w1I0 lm4aUBKH9aW8srrsZwKATxpQgOiN23sq59sah3zeyRHA4AkQeiv822VHxC6IXkJmRR3yR4jK Zqws7YPbMIIDPzCCAqigAwIBAgIBDTANBgkqhkiG9w0BAQUFADCB0TELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFU aGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZp c2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcN AQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTAzMDcxNzAwMDAwMFoXDTEz MDcxNjIzNTk1OVowYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5n IChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5n IENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEpjxVc1X7TrnKmVoeaMB1BHCd3+n/ ox7svc31W/Iadr1/DDph8r9RzgHU5VAKMNcCY1osiRVwjt3J8CuFWqo/cVbLrzwLB+fxH5E2 JCoTzyvV84J3PQO+K/67GD4Hv0CAAmTXp6a7n2XRxSpUhQ9IBH+nttE8YQRAHmQZcmC3+wID AQABo4GUMIGRMBIGA1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDov L2NybC50aGF3dGUuY29tL1RoYXd0ZVBlcnNvbmFsRnJlZW1haWxDQS5jcmwwCwYDVR0PBAQD AgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwyLTEzODANBgkqhkiG 9w0BAQUFAAOBgQBIjNFQg+oLLswNo2asZw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82L8D0HFAg k3A8/a3hYWLD2ToZfoSxmRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr394fWxghO rvbqNOUQGls1TXfjViF4gtwhGTXeJLHTHUb/XV9lTzGCArowggK2AgEBMGkwYjELMAkGA1UE BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgMNYRIwCQYFKw4DAhoFAKCC AacwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDQxMTA3MjA0 OTI5WjAjBgkqhkiG9w0BCQQxFgQUwrwT2i+l4BwTJicCLhd/gV5G3rIwUgYJKoZIhvcNAQkP MUUwQzAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4D AgcwDQYIKoZIhvcNAwICASgweAYJKwYBBAGCNxAEMWswaTBiMQswCQYDVQQGEwJaQTElMCMG A1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBl cnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECAw1hEjB6BgsqhkiG9w0BCRACCzFroGkwYjEL MAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAq BgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgMNYRIwDQYJKoZI hvcNAQEBBQAEgYB6PTj5nYx5Gbws9c9vpJ//OO3FNx3kiETaNc4Vu9JOtkA1qdX2sDeWdg1N eA4D5a3pgQul2QMxwRqQ6Ixmz3iY8Ynwe1nZwhooas0RycfNpwC3XONSNnziwKqiYSYG0GhF JN8rR71cJiqR4R/HGlr1xMVsCuaH9db/axqdTQ6TKgAAAAAAAA== --------------ms000903020407030102070802--