Dynamic data for winforms - winforms

i have played around with dynamic data website. is there something similar for winforms.
if there isn't anything out there for doing the same with winforms than the question would be why not? we have a massive ERP application that we want to migrate from AS400 to .Net
Winform application. my initial thoughts were to have all the maintenances be as simple as Dynamic Data Website project.

I would think that WPF would be a better starting point then WinForms, as it has support for style to say how item of data are displayed.

Dynamic Data makes it easy to edit your DB on the web. For desktop (and web) apps take a look at the new Microsoft LightSwitch:
http://msdn.microsoft.com/en-us/lightswitch/gg441300
LightSwitch doesn't use Windows Forms. Rather it creates a Silverlight App that can run both on the desktop and the web. Pretty cool.

Dynamic data is using the routing functionality of the MVC framework. In Windows forms we don't have this approach of fetching data with URLs from a server.
I am not sure how this model could fit into Windows forms.
I think it's pretty hard to create something like dynamic data for Windows Forms.
My biggest concern is here, once you created that Framework, how do you configure it? I mean if you want to change 1 form to be a bit different than the others :-)
I think its better to generate Forms for the various tables in the Database context, using a powerful Grid control from one of the big vendors. And then you can configure those.
Remember this is a different approach then the dynamic data one, where no code is generated before compile time

I think the reason you don't see something like this in winform applications is because it's much easier to store a HTML page inside a database and then display it on the screen formatted properly when using a web application because your browser knows how to format the HTML.
You would have to, stored in the database, know where each label and field would go on the form in some sort of co-ordinates fashion (or you could use a layout 3rd party control) but the amount of work that would take might be tedious to do properly.
The dynamic data website I worked on did not take input from the user. It only displayed different web pages to the user and allowed the admin person to easily make changes to the content. If you wanted a user to beable to save data then that would even be more complex because you have to worry about validation, required fields, etc.
If you have lots of users that need to see different information based on their access level then I would just suggest having a table in the database that tells the system whether or not they should see the field on the form. Then use a 3rd party layout panel to format the visible fields.
my 2 cents

As much as Dynamic Data looks simple and cheap enough to access a database it wouldn't work for an ERP system anyways. Business systems are more than moving data between database and the user interface, they require business rule actions when saving data and while retrieving the may require some massaging to ensure meaningful presentation of storage optimized data.
If you still like to pursue this option it would be very easy to create an application that is build on top of Entity Framework.

I'm not aware of a Dynamic-Data-alike, but (having written one before, years ago, for ASP) I don't actually think it would be that hard, particularly with WPF and its templating support.
Actually if you were really clever you could probably 'borrow' the backend from Dynamic Data, and just reimplement the UI as WPF.
Would make a fun little project actually.
Alternative answer: Use Microsoft Access. No really.
Alternative answer #2: So why not just use Dynamic Data then?

Related

Oracle ADF components experience

I just saw nice little demo about Oracle ADF Rich components: http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adffaces/adffaces.html.
Looks really cool, nice and easy but of course its just a demo :). I would like to ask if someone actually uses it for a production app, how they compare to popular open source alternatives like RichFaces or IceFaces etc.
How about a deployment to a different server than weblogic?
We use ADF Faces. It is quite good. They have all the basic components(input text, output text, input file, date pickers, tables, etc) and some advanced components(graphs, tree,tree tables, etc). The layout components are also good and will suffice for most use cases.
But as with any JSF component, ADF Faces Components are hard to modify. For instance, if you want to add, say, a placeholder text, on an input text then you need to resort to fragile hacks.
I would recommend ADF Faces for enterprise apps where the ability to alter and fine tune UI components is not as important as fast and low cost development.
Also, ADF Faces isn't just a component framework. It is a full ViewController framework. Check out their Task Flows and you will be amazed.
We also use ADF Framework for our current product where we migrate our existing form based product to the new framework.
The major benefit that I'd like to point out in ADF is the way they promote declarative programming. I have to admit being a strong java developer, I have the tendency to go and add my own programmatic handling, but for someone who is used to forms, they will find it easy to learn the basics.
A strong feature that I also like to point is the way they clearly defined the MVC architecture. Model = BC, Controller = TaskFlow, View = well this one is obvious. Kudos to ADF the way they designed the taskflows as you get to have a visual representation or better put, a story of your design as well as your logic.
I am not sure about using a different server as ADF along with JDeveloper gives quite a load of features which allows you to configure directly to your server and be able to test on your intergrated server as well, with this I mean more on the security side as well as authentication piece of it. So even if you are able to migrate all the libraries needed, you might still be missing out in some of the other technologies that can be easily integrated with a weblogic server. (such as webcenter, soa etc.)

using silverlight for user interface only

I am planning to make a web application, using silverlight for frontend. requirement is: this frontend will be just an empty shell, and it must be language independent. it will get everything it needs to display and use from server, therefore making it language independent.
i tried to find tutorials, but there is nothing.
as far as i understand, silverlight uses xaml for all its data, so just generating it with whatever language i want shouldn't be a problem. but i don't have any silverlight experience or knowledge, so i'm not sure what is the best way to do this. for example, i don't know how will new content be generated, and what kind of structure silverlight requires.
can anyone give me some starting points?
Your requirements are rather demanding. If i can summarise:
silverlight will be the front end (or container)
you don't know what it will be showing
the content may be dynamically generated
everything, including the visual content, will be retrieved from the server
If i have misunderstood then by all means correct me or adjust your question.
Those requirements are not trivial, especially when you have no prior experience in Silverlight. Fetching data from the server is a normal behaviour in Silverlight, but fetching any generated UI content will be a slow and inefficient use of the technology platform. Silverlight is delivered via the browser, and runs on the client. If you are going to have generated UI, then you may want to consider using straight HTML instead (you can generate the contents using ASP.Net or a scripting language such as PHP). Alternatively, you can generate your required UI views from within the Silverlight app itself by either swapping in and out the appropriate pre-built piece of UI (or controls), programmatically adding new controls into the visual tree, or by loading XAML using the XamlReader class.
This answer may or may not help you much, but like i said before - put some more specific details into your question and you will get more specific answers (either add comments under your question, or post a new more specific question if you cannot edit your current one).
Edit: i have just come across this blog article from Jeff Prosise explaining the use of the INavigationContentLoader interface in Silverlight 4 to dynamically load pages from either remotely or locally. It is a detailed write-up, with a lot of code samples, it may be of use to you.
I would suggest you start at http://Silverlight.net
The "Learn" section has lots of videos that can get you started. http://www.silverlight.net/learn/

UC(User component) concept in Win32/.NET Win forms

Couple of year ago I when to work for company as web developer. It has my first Sirius web development job, (ASPx/C#) so it has very exciting and I learned a lot about that world, from the developer point of view.
In that group we had a concept for the pages where loaded in the page UC’s (User controls), I don’t know if it’s the same in every web development team with every language, I’ll assume it is so.
The contract ended and I came back to develop win32 “winForm” application.
But since them I have tried to apply the same principle for my win32 development I learn there, meaning having bunch of UC’s (Visual User controls) that I load in the form.
They are regular visual components, not loaded in the toolbox, code is available in the project, but the component is not developed in the form, they are loaded there.
I would like to know opinions about this approach, what other are doing similar or better to this And improvements that can help us to speed up development and increase code reuse, because that is what this is all about.
If you're using the layout components in Winforms, this might be an acceptable approach although I think the thing that distinguishes the web and Windows Forms (note: NOT WPF!) is that in the former you do a lot of "compositing" which is why the UserControl concept is so useful whereas in the latter you operate on very sophisticated controls (e.g. 3rd party - in my last gig we used an incredible grid control via a small company called Infralution)
The main problem I would see is with layouts since the rendering model is a little different than the web. I know nothing about your application but if it "works" that is what is most important. I assume in this case you use things like the FlowLayoutPanel and the TableLayoutPanel properly.
If you want to go a more canonical route, take a look beyond simply creating components at how you can use the inheritance model to composite your application in a more robust way - having a base Form class that has containers for where your "UserControl" type components go and then using some kind of interface based dependency injection to swap them out while the application is running.
Finally, take a look at some of the open source Windows Forms applications out there to see if you're being too hard on yourself since common UI and reusable components are a goal in every application. Even though I've always thought Microsoft's Patterns & Practices stuff teetered towards being bloated, there are some good ideas and you should study some of the approaches of the Composite UI Application Block they put out.
Okay, not finally, there's one more thing I'd like to add: take a long hard look at WPF which will bring back a lot of the concepts from your web development days and give you that kind of power in a desktop application.

Is silverlight a good choice for web applications which display large amounts of data and focus on user productivity?

I've played some on-line demos of silverlight component packs, like Telerik, NetAdvantage and ComponentOne and although I was very impressed by what I saw, I had also the impression that the demo applications were heavy to load, even during the usage of some components.
I'm planning to try silverlight in a project that demands loading large amounts of data, using grids and charts.
What the guys who use silverlight can say about that?
Is silverlight a good choice for web applications which display large amounts of data and focus on user productivity?
Silverlight isn't superspeedy at displaying large lists of rich data, but then well designed system would not attempt to display large lists of rich data only enough data that a user can make sense of at one time.
Hence silverlight makes an excellent platform for display and entry of data in an engaging manner but you need good design and backend code to really make that happen.
As a Silverlight developer and Internet user, I must say that I prefer HTML when dealing with information I have to scroll.
That's not to say it can't be done right in Silverlight, but I think Silverlight is not immediately equipped to handle "large amounts of data and user productivity"
The short answer is, "Yes, absolutely."
Of course that depends on your audience. Even if you have a spectacular Silverlight package which perfectly displays the data (to you) you should avoid it if your audience will ever include (a) users without Silverlight or (b) tools that weren't designed to consume this such as, depending on your implementation, Google. Encapsulating data in Silverlight or Flash is a great way to make it less accessible.

Creating web forms from a database schema

I'm wondering if there are any applications, preferably freeware, that can take a database configuration, and, with as little hassle as possible, create web forms for inserting data easily.
I'm finding it hard to express exactly what it is I'm after. Maybe I can talk a bit about what I need.
I have a configuration database that, at least usually, contains "the truth" about the servers in our system. It contains stuff like zone names, hostnames, different configuration items, etc, over multiple tables. Right now we're using simple INSERTs directly when adding new servers or other stuff, handling the keys and IDs ourselves. The crux is, they don't want us to develop a simple web form thingy to handle this, instead they want a tool that can generate the web form thingy. Did that make sense?
I'm not sure if anything like this exists or is reliable, but, I thought that if anyone knew, it's this community. Thanks!
As many have already stated, it depends on what technology you're working with:
.Net 3.5 - Dynamic Data or Subsonic's Scaffolding control
.Net 2.0 - Subsonic's Scaffolding control
PHP - CakePHP
Ruby - Rail's Scaffolding component
"with as little hassle as possible"
have you checked things like PHP/MySQL Web Database Application Code Generator 10.02 ?
or phpmyedit ?
seems to me that what everybody else proposed so far requires a fair amount of coding...
Also, have a look at phprunner. It is not free, but looking at the screenshots, it seems to fit your requirements.
ASP.NET has Dynamic Data, that I think fits your description.
There's also SubSonic. Both are free and open source.
Tried Dynamic Data?
Besides ASP.NET dynamic data, you could also have a look at SubSonic
With PHP, if you have the ability to name the tables and columns as you see fit, you could try CakePHP framework, and specifically the scaffolding feature. With scaffolding turned on, the code will create CRUD forms from the schema for you.
Here's the link for learning about SubSonic & Scaffolding http://www.subsonicproject.com/web-forms-controls/the-scaffold/
, enjoy ;)
One more link from the SubSonic forums http://monk.thelonio.us/post/Scaffold-Enhancements-in-SubSonic-21.aspx
You can try Adminer Editor
Adminer Editor is both easy-to-use and user-friendly database editing tool written in PHP. It is suitable for common users, as it provides high-level data manipulation.

Resources