ERP in Composite Library

Oct 10, 2008 at 6:40 AM
Hi,$0I have got a erp project which includes all essentail modules like sales,procurment,CRM,Finance etc and WPF has been decided as front end.I found concept of composite library very interesting but not able to decide if it is good enough to handle requirments of complex user interection which is must for ERP kind of application and is it matured enough to go for it.Also sample and applicatios provided with it does'nt give me full confidence to go for it.I am interested in knowing if some of the people are really upto the complex application with composite liabrary and if possible would need some guidenace and their experiances.$0$0I am feeling strongly for it but not getting enough confidence to go for it.$0$0Any help would be highly appericiable as its a big decision for me .$0$0$0$0
Oct 10, 2008 at 7:05 AM
I have gone through Same kind of ERP project (Complex business logic and user interface interaction )before 2 years and we choused CAB/SCSF. I feel composite WPF is very much street forward technology then CAB/SCSF and mature enough to deal with complex business logic. Based on my experience with CAB and knowledge about Composite WPF, no doubt your choice is right. Don’t worries go-ahead. Because your problem is very generic, we could really work together if you come up with some user story.
Oct 10, 2008 at 9:59 AM
Hi,$0Thanks for encouraging words and its a great sense of relief as I am really looking forward to go for composite.$0$0$0$0$0Let me go  bit specific to issues which I am facing.Actually I am infact looking to build a product over this order in large run and it should be configurable.$0$0Based on my experiance and interection with ERP users,we need following things in place ...$0$01.Gone are the days for MDI .$0$02.User should have flexibility to open multiple windows at a time.$0$03.All forms wherever relevant should have shortcuts to open.e.g. User should have facility to create new customers from quotation itself or wherever cutomer selection take place.It goes true for all such scenarios.$0$04.Large forms ,say for customer master should have capability to have entry form open with selective views e.g. if I want to alter his payment terms or say address or may be financial info,full for should not get loaded and user should have the flexibility to choose how much he is willing to have on form.Now in contrast some user would always love to have everthing in single form.Thats where composite appeals me most but not sure if it can match to my requirment.$0$05.Matching to previous point is also the facility to restict views according to user rights.$0$06.Workflow and change request should againt be available at unit leven and it should be optional.Say a user has prepared a quotation and higher authoirty freezed rest of the document but want to intimate user to change only payment terms.$0$0$0$0$0Please provide your views if composite will not restrict me to do all this and if some examples are availeable in this regard.$0$0$0$0$0thanks....$0
Oct 13, 2008 at 7:50 AM

1.      User should have flexibility to open multiple windows at a time.$0$03.All forms wherever relevant should have shortcuts to open.e.g. User should have facility to create new customers from quotation itself or wherever cutomer selection take place.


You are free to keep all customer related information on single form or you can split it in multiple form it is all depends on your requirement or your preference or even you can customize it, but will talk about it later. First we take point 1


Your point is true that user should have flexibility to open multiple views (windows) at a time and the views should open from anywhere. We could have a thousand of approach for doing same, but best one as per my understanding create a service that would be responsible for A to Z operations that take place when u add, Edit or delete customer including methods responsible for opening and closing customer views. Once If you have created such kind of service you can call it from anywhere depends on the visibility of service. Suppose you have kept customer master and quotation in different modules and you don’t want to keep the direct reference between both, in this case the above given approach is the best one.


First of all you need to identify all the views that could be called from different views of different modules and create services. And one final important point keep the instance of service in root container or a container that is equally accessible by respected modules. If you want code clip, will try to provide you.


In your point you have also mentioned that user should have flexibility to open multiple views at a time, one more addition I would like to do in this point is that user should have flexibility to work on multiple views at same time.


The solution is very much street forward if you are using Tab workspace or region, each view occur on different tab page.

But if you are using Deck workspace or Item control instead of tab, situation goes complex. At this point you could maintain and show a list of opened view to the user.

See, when user ask for customer master view, you simply create an instance of customer view register it in container and show it to user. During working on customer master you switch to purchase contract view without saving or closing the customer master. Once if you have finished working on purchase contract and you want to come back to customer master, just go to the open list and find the object of customer master from container and show in again, NOTE here we are not creating new instance of customer master.


Best approach: Before creating any instance check it in Container.

Oct 13, 2008 at 8:53 AM
Please let me know if it helps or if you have any other idea.
Tarun Kumar
Oct 13, 2008 at 9:35 AM
Hi,$0Thanks a ton and my confidence is only growing with your words.$0$0I think now putting up further question ,I think I need to work a bit more on composite library .I have gained now sufficient confidence that everything what I think is possible but I need to figure out now bit more in depth technically to avoid any silly questions but would like to bother you once I m done with my exploration.Meanwhile if you can provide me some link on reference code to my scenario that would be best .$0$0$0$0$0Thanks again for providing me confidence and I think I am going with composite library for sure.$0$0$0$0$0Will soon come again with more interesting questions.$0