[alg/.NET]Toegang tot data access vanuit de UI

Pagina: 1
Acties:

  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 27-08 08:10
Accessing Data Access Logic Components from the User Interface

Some applications’ user interfaces need to render data that is readily available as
queries exposed by data access logic components. Regardless of whether your user
interface components invoke data access logic components directly, you should not
mix data access logic with business processing logic.
Accessing data access logic components directly from your user interface may seem
to contradict the layering concept. However, it is useful in this case to adopt the
perspective of your application as one homogenous service — you call it, and it’s up
to it to decide what internal components are best suited to respond to a request.
You should allow direct data access logic component access to user interface components
when:
1.) You are willing to tightly couple data access methods and schemas with user
interface semantics. This coupling requires joint maintenance of user interface
changes and schema changes.
2.) Your physical deployment places data access logic components and user interface
components together, allowing you to get data in streaming formats (such as
DataReaders) from data access logic components that can be bound directly to
the output of ASP.NET user interfaces for performance. If you deploy data access
and business process logic on different servers, you cannot take advantage of this
capability. From an operational perspective, allowing direct access to the data
access logic components to take advantage of streaming capabilities means that
you will need to provide access to the database from where the data access logic
components are deployed — possibly including access through firewall ports.
For more information, see Chapter 4, “Physical Deployment and Operational
Requirements.”

bron: http://msdn.microsoft.com...us/dnbda/html/distapp.asp
-----------------------------------------------------------------------

Naar aanleiding van dit hoofdstukje ben ik toch wat in de war. In de basis van N-tier systemen wordt aangeleerd NOOIT vanuit de UI data access componenten aan te roepen. Ook MS heeft in de VB tijd te kennen gegeven dat dit uit den boze zou zijn.

Bespeur ik nu in de .NET architectuur guide dat men zichzelf tegenspreekt om de mensen die DataSets/DataTable objecten koppelen aan een front-end DataGrid een plezier te doen? Is het doorspelen van de call over business logica met de nodige overhead dan alsnog geen beter alternatief? Ik weet dat indien het read-only access betreft het eigenlijk geen kwaad kan, maar toch...

Hoe denken de architectuur goeroe's hierover? Je koppelt indien je het bovenstaande toepast je database scheme nogal hard tegen je UI (wat een nogo is in mijn ogen).

[ Voor 1% gewijzigd door Scare360 op 24-12-2002 12:09 . Reden: opmaak ]


  • EfBe
  • Registratie: Januari 2000
  • Niet online
n-tier is ook maar een idee hoe applicaties gebouwd kunnen worden. Doordat ze zelf een object als 'datareader' hebben toegestaan in de api, geeft al aan dat er meer wegen naar rome leiden. Er zijn altijd situaties te bedenken waarbij je wel een middle tier introduceert maar dat die tier eigenlijk niets anders doet dan 1:1 objects vanuit de DAL doorsjoelen naar de GUI, je introduceert dus complexiteit die geen doel dient.

Het is t.a.t. sneller een datareader aan een repeater te hangen en zo rijtjes te vullen in asp.net pages. Het is ook t.a.t. minder onderhoudbaar en vernaggeld je abstractieniveaus in je n-tierstack. Niets is echter verplicht, je mag t.a.t. doen wat je wilt, de keuze is aan jou: kies je A, dan moet je ook met de nadelen van A leven, exact eender wanneer je kiest voor B.

Mijn advies: neem die guides met een korrel zout, ze dienen wel een doel, maar zijn niet heilig, t.a.t moet je zelf kunnen beargumenteren waarom je een keuze gemaakt hebt en dan lijkt het me niet voldoende maar te wijzen naar een guide van MS.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:36
Hmm, ja... Ik heb dat in dat artikel ook opgemerkt, en ook in een ander artikel dat ik op MSDN vond, heb ik zo'n voorbeeldje gevonden.
Vandaar ook dat ik dit topic opende:
[rml][ Alg] Ontwerpen van Data-access en business classes[/rml]

EfBe, wtf bedoel je met t.a.t. ? :+

https://fgheysels.github.io/


Verwijderd

whoami schreef op 25 December 2002 @ 22:38:
Hmm, ja... Ik heb dat in dat artikel ook opgemerkt, en ook in een ander artikel dat ik op MSDN vond, heb ik zo'n voorbeeldje gevonden.
Vandaar ook dat ik dit topic opende:
[rml][ Alg] Ontwerpen van Data-access en business classes[/rml]

EfBe, wtf bedoel je met t.a.t. ? :+
Ter/ten alle tijde? :)

  • EfBe
  • Registratie: Januari 2000
  • Niet online
te allen tijde :)

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com