Joint CSLA.NET & LLBLGen Pro framework posted

Posts   
1  /  2  /  3
 
    
omar avatar
omar
User
Posts: 569
Joined: 15-Oct-2004
# Posted on: 30-Jun-2005 08:57:54   
Sam avatar
Sam
User
Posts: 95
Joined: 30-Jun-2004
# Posted on: 02-Jul-2005 02:05:09   

I have not used the JCL but have used both csla and llblgen. I love the screen shot with the icon in the status bar that list broken rules. Did you accomplish this using DevExpress controls?

Bashar
User
Posts: 108
Joined: 11-Nov-2004
# Posted on: 03-Jul-2005 19:23:15   

Sam wrote:

I have not used the JCL but have used both csla and llblgen. I love the screen shot with the icon in the status bar that list broken rules. Did you accomplish this using DevExpress controls?

Yes, as a matter of fact we did. smile

You might want to experiment with other ways to display broken rules to the user. DevExpress do provide a comprehensive set of development although not quite complete. The only problem we are facing with DevExpress tools is the fact that they do not have Left-To-Right support, and they won't have it anytime soon!! rage

Posts: 11
Joined: 02-Aug-2005
# Posted on: 02-Aug-2005 13:20:10   

Hi Omar and Bashar, Firstly, thank you both for all your efforts in producing the JCL framework.

I have a couple of questions which I apologise for if I'm being stupid!

I have followed the walkthrough and now have a functioning Northwind app that I am using to try and learn how to use JCL.

Do you have any documentation on the AUDIT and SEC tables and entities? I notice that events are automatically logged to the AUDITEvent table such as "%Screen, User logged in to %Company (%Language)" and would like to know how to use audit and security.

On page 38 of your documentation the note says that data access methods assume that an object is loaded with all it's child properties (1 to 1 and 1 to n relations) prefetched. Does this mean, if I have a customer with 500 orders and each order has 1 to 10 order lines, each order line has, for example 1 supplier and various other related objects etc, that all this data will be retrieved from the persistant storage every time the customer is loaded or is this where prefetch paths come in?

Is the syntax for using the JCL generated BL objects the same as is documented in the LLBL Gen (Adapter) documentation?

Thanks, Rob.

omar avatar
omar
User
Posts: 569
Joined: 15-Oct-2004
# Posted on: 02-Aug-2005 23:23:26   

Do you have any documentation on the AUDIT and SEC tables and entities? I notice that events are automatically logged to the AUDITEvent table such as "%Screen, User logged in to %Company (%Language)" and would like to know how to use audit and security.

Documentation of the JCL security framework is being pepared and hopefully it will be posted with the coming JCL update.

On page 38 of your documentation the note says that data access methods assume that an object is loaded with all it's child properties (1 to 1 and 1 to n relations) prefetched. Does this mean, if I have a customer with 500 orders and each order has 1 to 10 order lines, each order line has, for example 1 supplier and various other related objects etc, that all this data will be retrieved from the persistant storage every time the customer is loaded or is this where prefetch paths come in?

I will proparly have to elaborate this note you are refering to in the coming update. This is one area that changed alot during the devolopment of JCL and its use for our company's ERP: 1- A BL class should be as light as possible. This is in agreement of your discussion and as such any related objects should NOT be loaded automatically. This allows for the BL object to be useful in other senarios (like populating a combo or just a simple function. You don't want to poulate a combo-box with a collection of order objects that each loads all its related objects)

2- The BL class should facilitate for its consumer (usually the UI devoloper) to use any of its prefetch paths to load the related objects. In this case, the intention to load related objects is explicit (and not implicit) so that the BL consumer knows what he is doing (hopefully!! smile )

3- In the book version of CSLA.NET, a BL object would automatically load all its CHILD related objects (1-to-1 and 1-to-many). In a later update, Rocky outlined how the BL devoloper could facilitate Lazy Loading by postponing fetching child objects until needed. This is in agreement to the previous two points so that the UI devoloper (for example) would use the prefetch paths to fetch all related child objects for each order object in the orders screen as he populates the data-source collection of the screen.

The bottom line. JCL will NOT fetch any related objects unless you explicitly specify a prefetch path with any of JCL's or the BL's fetch functions.

Is the syntax for using the JCL generated BL objects the same as is documented in the LLBL Gen (Adapter) documentation?

JCL should be though of as a BL wrapper around LLBL's DAL generated code. JCL does not promote its own syntax. Where CSLA.NET uses its architecture to execute standard ADO.NET code; JCL uses a very similar architecture to execute standard LLBL code.

                                         UI <==> BL <==> DB

The BL layer is sub-divided into three layers. The upper BL layer facing the UI is a JCL's BL class. The lower BL layers are LLBL's Database Generic and Database Specific layers respectivly.

Posts: 11
Joined: 02-Aug-2005
# Posted on: 03-Aug-2005 10:03:32   

Thanks Omar. No doubt I'll be back with more questions for you as I progress with my work! stuck_out_tongue_winking_eye

omar avatar
omar
User
Posts: 569
Joined: 15-Oct-2004
# Posted on: 03-Aug-2005 17:42:01   

glad to help

BlueCell avatar
BlueCell
User
Posts: 83
Joined: 12-Jul-2004
# Posted on: 22-Sep-2005 19:36:44   

Dear Omar,

I've looked into your and Bashar's framework, and from what I can see, it can be a very powerful development tool. That is, if you know how to use it. And to be honest, I do not fully know. I hoped you or Bashar could help me out and answer the question(s) I (will) have. Currently, I have only one question, but there will certainly be more when I dive deeper in JCL. Here it goes:

  • I have some difficulties understanding the purpose of the DB class. Your documentation explains it's purpose: "This class provides centralized access to all EntityCollection loading and fetching services, DataTable fetching and TypedView loading." Does this mean you can use this class to create a collection, table or view, which can be used in e.g. a grid? Furthermore, I have no clue about what the purpose of the Load functions is or why you have both FetchList() and DataPortal_FetchList(). Also, what's being done with the ctors? Could you please clarify this all, as this class is hocus pocus to me? disappointed

TIA,

BC

omar avatar
omar
User
Posts: 569
Joined: 15-Oct-2004
# Posted on: 23-Sep-2005 22:41:45   

BlueCell wrote:

Dear Omar,

I've looked into your and Bashar's framework, and from what I can see, it can be a very powerful development tool. That is, if you know how to use it. And to be honest, I do not fully know. I hoped you or Bashar could help me out and answer the question(s) I (will) have.

Thank you. There is more to come..

BlueCell wrote:

Currently, I have only one question, but there will certainly be more when I dive deeper in JCL. Here it goes:

  • I have some difficulties understanding the purpose of the DB class. Your documentation explains it's purpose: "This class provides centralized access to all EntityCollection loading and fetching services, DataTable fetching and TypedView loading." Does this mean you can use this class to create a collection, table or view, which can be used in e.g. a grid? Furthermore, I have no clue about what the purpose of the Load functions is or why you have both FetchList() and DataPortal_FetchList(). Also, what's being done with the ctors? Could you please clarify this all, as this class is hocus pocus to me? disappointed

In JCL1.2, the DB class serves the common database functions. Since LLBL's collections are weakly typed by there nature, you can write logic to load a collection of any entity as long as you have its factory or have the collection itself. The DB class has helper functions to load/fetch EntityCollections, typedViews and DataTables. The DataPortal_xxx functions are part of JCL's implementation to the DataPortal concept pioneered by Rockford Lhotka in his CSLA framework. I strongly recommend reading the MSDN article http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadvnet/html/vbnet03262002.asp The benefit of the DataPortal is that you have a single point of remoting for all your data-access code. This way you can change the implementation of your system from a logical n-tier system hosted on a single-physical tier to an n-tier logical architectire hosted on an n-tier physical tiers by just changing your application's confg file. In a short time we are releasing JCL1.5 that will host more streamlined data-access code (using LLBL's unitOfWork) and better support for different 3rd party winform controls... stay tuned simple_smile

sami
User
Posts: 93
Joined: 28-Oct-2005
# Posted on: 28-Oct-2005 09:52:08   

I have been planning to use CLSA and LLBLGen in our new project, and JCL seems to fit there like a glove. However, we use c#, so there is the first issue. Another is that we are using .net 2.0 and llblgen 1.0.2005.

So, are you planning to upgrade JCL to 1.0.2005 and .net 2.0? Would you be interested in somekind of co-operation? Porting to c# should not be a problem for me.

omar avatar
omar
User
Posts: 569
Joined: 15-Oct-2004
# Posted on: 30-Oct-2005 22:44:51   

sami wrote:

I have been planning to use CLSA and LLBLGen in our new project, and JCL seems to fit there like a glove. However, we use c#, so there is the first issue. Another is that we are using .net 2.0 and llblgen 1.0.2005.

So, are you planning to upgrade JCL to 1.0.2005 and .net 2.0? Would you be interested in somekind of co-operation? Porting to c# should not be a problem for me.

1- The upcoming JCL version (JCL1.5) still only has the VB.NET templates; so to use C# you only need to convert JCL's LLBL templates to C# (which should be very straight forward). We do have plans to have a C# version of the templates in the version following 1.5.

2- We have tested JCL's BL classes under .NET2.0 and made the necessary code changes to avoid any name conflicts or errors. For JCL 1.5, VS2005 would only complain about some harmless warninings concerning some coding style (like a function that doesn't return a value on all its exit paths). We also tested the JCL1.5 BL classes to be running perfectly under .NET2.0. NOTE: you must generate your DAL using the VS2005 templates (not the VS2003)

3- JCL's WinForms framework has also been ported and tested to run under .NET2.0 but it laks support for design-time data-binding. This is because LLBL's DAL still does not fully support .NET2.0's design-time DataBinding (Frans says that the current LLBL version is only OK with WinForms) but LLBL will fully support databinding (design-time and run-time) in its .NET2.0 release. NOTE: If you still want to use the Winforms framework; you will also need to get DevExpress's VS2005 version for their winforms controls (they are also in Beta).

We will send JCL1.5 to Farns next week for him to revise and upload to the 3rd party section of the web-site. JCL1.5 will also include 3 fully functional samples; Winforms, WebForms and WinForms using a remote dataportal. The samples should provide a good guideline on how to implement JCL for these types of UI (the UI implementations does follow the CSLA guidelines so the code should look very familiar for a CSLA veteran.) NOTE: the WinForms UI samples use JCL's WinForms framework

VK avatar
VK
User
Posts: 10
Joined: 30-Nov-2005
# Posted on: 30-Nov-2005 09:50:37   

Hello,

I am using the DEMO of LLBL and I have no access to the 3rd party link at LLBL's home page. How can I download JCL?

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39741
Joined: 17-Aug-2003
# Posted on: 30-Nov-2005 10:44:10   

When JCL for 1.0.2005.1 is released we'll put it up on the demo download page. For now, it's not because the current version isn't fully tested for 1.0.2005.1, the version of the llblgen pro demo.

Frans Bouma | Lead developer LLBLGen Pro
VK avatar
VK
User
Posts: 10
Joined: 30-Nov-2005
# Posted on: 30-Nov-2005 15:36:29   

I have to make a decision on using OR mapper in a week or two. I would like to see a way of implementing business logic layer with LLBL OR mapper. It's Ok if the solution will have bugs or will be poorly documented. I need to understand the general idea of the architecture. I would prefer to use CSLA.NET with LLBL. Is it possible to download the solution before its release?

omar avatar
omar
User
Posts: 569
Joined: 15-Oct-2004
# Posted on: 30-Nov-2005 17:40:57   

Otis wrote:

When JCL for 1.0.2005.1 is released we'll put it up on the demo download page. For now, it's not because the current version isn't fully tested for 1.0.2005.1, the version of the llblgen pro demo.

we have been testing JCL1.5 with LLBL1.0.2005.1 and with no problems. I have just to update the documentation with the new JCL features. Several complete sample applications will accompany JCL1.5 including winforms, webforms and n-tier winforms.

VK wrote:

I have to make a decision on using OR mapper in a week or two. I would like to see a way of implementing business logic layer with LLBL OR mapper. It's Ok if the solution will have bugs or will be poorly documented. I need to understand the general idea of the architecture. I would prefer to use CSLA.NET with LLBL. Is it possible to download the solution before its release?

I will try my best to prepare it in the coming days. If you really can't wait, please email me and I will mail you JCL with the 3 sample projects. Having a background in CSLA should get you up and going very quickly in using JCL's BL classes.

VK avatar
VK
User
Posts: 10
Joined: 30-Nov-2005
# Posted on: 30-Nov-2005 18:22:09   

Dear Omar,

Thank you for your response.

I would not like to harry you for the final release so could you please send me the current version of JCL with the samlpes to VladimirKharitonov(at)yandex.ru (as attachment or just as a link).

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39741
Joined: 17-Aug-2003
# Posted on: 30-Nov-2005 18:44:44   

Great stuff, Omar! Looking forward simple_smile

Frans Bouma | Lead developer LLBLGen Pro
VK avatar
VK
User
Posts: 10
Joined: 30-Nov-2005
# Posted on: 01-Dec-2005 11:07:28   

Hello Otis,

omar wrote:

If you really can't wait, please email me and I will mail you JCL with the 3 sample projects.

Unfortunately I can not e-mail Omar (his e-mail is hidden). Could you, please, help me to contact him?

VK avatar
VK
User
Posts: 10
Joined: 30-Nov-2005
# Posted on: 01-Dec-2005 22:14:23   

I am sorry for annoying but it's really very urgent simple_smile My e-mail: VladimirKharitonov(at)yandex.ru

omar avatar
omar
User
Posts: 569
Joined: 15-Oct-2004
# Posted on: 02-Dec-2005 10:26:18   

You will get something from me today (Friday) definitly...

VK avatar
VK
User
Posts: 10
Joined: 30-Nov-2005
# Posted on: 04-Dec-2005 22:36:49   

Sorry, but I did not get it cry

VK avatar
VK
User
Posts: 10
Joined: 30-Nov-2005
# Posted on: 05-Dec-2005 14:39:23   

Can I download something? It's OK if it does not compile. I need some example, please.

VK avatar
VK
User
Posts: 10
Joined: 30-Nov-2005
# Posted on: 06-Dec-2005 19:13:38   

OK. It seems I've lost hope to get this before its official release. I will wait for this happy moment:

Otis wrote:

When JCL for 1.0.2005.1 is released we'll put it up on the demo download page. For now, it's not because the current version isn't fully tested for 1.0.2005.1, the version of the llblgen pro demo.

By the way, LLBL is a great tool!

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39741
Joined: 17-Aug-2003
# Posted on: 06-Dec-2005 20:23:21   

I'll let you know as soon as I have the archive.

THanks smile

Frans Bouma | Lead developer LLBLGen Pro
jschafer
User
Posts: 1
Joined: 21-Dec-2005
# Posted on: 21-Dec-2005 22:14:36   

I've converted the JCL 1.5 templates to C#. If anyone is interested in them you can email me at j i m s at j a t a - l l c dot com (remove spaces). This is only the templates. I have not tested the currency business objects yet.

1  /  2  /  3