|
Interesting, but:
How does this fit with an app framework?
What if people can't afford Visio?
"Blessed are the peacemakers, for they shall be called sons of God." - Jesus
"You must be the change you wish to see in the world." - Mahatma Gandhi
|
|
|
|
|
What Marc is describing is a application framework targeted at a true business solution. It's just a very narrow scope. In reality I have one application like thi now that I deperately need to rewrite because the idiots who did wrote 18 separate VB6 apps with little or no documentation or consistency.
Mark
Mark Conger
Sonork:100.28396
|
|
|
|
|
Sorry, I want to get some samples C# and .NET
About C#
|
|
|
|
|
do you have seen Microsoft's biztalk orchestation?
Federico
|
|
|
|
|
Sorry, Mark, my comment has nothing to do with the current discussion.
Just wondering if you deleted some of your articles. I was considering deleting some of my articles (those I am not proud of ) from Code Project, but decided not to.
Click here to see my articles and software tools
|
|
|
|
|
I removed the 4 CPP Script Framework articles, as the project moved off of CP. I'll be posting articles about the development effort as real articles instead of "project articles".
And yeah, there's a few articles I'm not very proud of either. But I might consider deleting them when my article count is around 100.
Marc
STL, a liability factory - Anonymously A doable project is one that is small enough to be done quickly and big enough to be interesting - Ken Orr
Latest AAL Article
My blog
|
|
|
|
|
I always loved to have a tight integration between visio and visual studio. I noticed that there was a link between the UML features of visio and visual studio.
That can be used to create the classes. The flowcharts can than be used to add the code in the function. However I think this kind of things can also be done with UML
Greetings....
|
|
|
|
|
Sorry if I am asking the wrong question.
What kinda of methodologies you guys plan to use? Ex: Agile methodologies like Extreme Programming, Feature Driven Development etc...
Never take a problem to your boss unless you have a solution. This signature was created by "Code Project Quoter".
|
|
|
|
|
Kant wrote:
What kinda of methodologies you guys plan to use?
An interesting question. What drives it?
Personally, I tend to follow Feature Driven Development and Aspect Oriented Software Design methodologies. This is heavily influenced by the type of clients I have (and respectively, THEIR clients). From the Extreme Programming perspective, I like the ideas of unit and process testing (especially the build the test before writing the code), but I find that in practice they lead to a lot of wasted effort. Especially pair programming. Which is also impossible in this project for obvious reasons, unless we used something like GoToMyPC.com. Hmmmm.
Marc
Help! I'm an AI running around in someone's f*cked up universe simulator. Sensitivity and ethnic diversity means celebrating difference, not hiding from it. - Christian Graus Every line of code is a liability - Taka Muraoka Microsoft deliberately adds arbitrary layers of complexity to make it difficult to deliver Windows features on non-Windows platforms--Microsoft's "Halloween files"
|
|
|
|
|
Could somebody explain what the AAL is? Is it just the name of this specific Application Framework project being discussed.
I'd like to see some built-in Unit Testing functionality in the new framework. I have written a few generic classes for testing and I now find them indispensible. Another thing that might be useful is some built in scripting. I think somebody may have already mentioned this, but the scripting could be related to the Testing so we could test the End-Product dynamically.
We'll also have to write a few VC Application wizards to create a skeleton app for using the library/framework. Another thing we should look out for is to make the framework as CrossPlatform as possible, especially since even MS themselves are taking an interest in Linux these days.
|
|
|
|
|
John Oliver wrote:
Another thing we should look out for is to make the framework as CrossPlatform as possible
Shouldn't be too hard. With the GUI Library, it's (almost) impossible (because Windows Forms is not cross-platform), but here it should be fairly easy. I'm not going to do any of the Linux testing, though.
"Blessed are the peacemakers, for they shall be called sons of God." - Jesus
"You must be the change you wish to see in the world." - Mahatma Gandhi
|
|
|
|
|
John Oliver wrote:
Could somebody explain what the AAL is?
Click on "my articles" and scroll down. There's several articles starting with "Application Automation Layer --". In other words, my pet application framework project.
Marc
Help! I'm an AI running around in someone's f*cked up universe simulator. Sensitivity and ethnic diversity means celebrating difference, not hiding from it. - Christian Graus Every line of code is a liability - Taka Muraoka Microsoft deliberately adds arbitrary layers of complexity to make it difficult to deliver Windows features on non-Windows platforms--Microsoft's "Halloween files"
|
|
|
|
|
http://www.sellsbrothers.com/
Regards,
Barry
|
|
|
|
|
|
Chris Sells mentioned you before in a previous blog. I'm surprised you'd never noticed!!
Regards,
Barry
|
|
|
|
|
Barry Lapthorn wrote:
I'm surprised you'd never noticed!!
Oh yes, I had noticed. It's just that fame is short lived in this fast paced world.
Marc
Microsoft MVP, Visual C#
MyXaml
MyXaml Blog
|
|
|
|
|
I would like to see an AF that will support P2P. Any framework that supports P2P would need a few basic features.
1. AutoDiscovery. The ability to find others automatically.
2. A decentralized system. No central server. This creates a weak spot. Think of 6 degrees of seperation here.
3. The ability to exchange information among peers. This would simply be some protocol or defined method for exchanging data. The specifics of the data are not important at this layer. The applications built on top of it would interpret it.
4. Events. The ability of the upper application to register some callbacks into the API for events. Some possible events might be notification of a peer joining and leaving the network.
5. Ability to form a co-op. By this I mean you have a general pool. This is anybody running the application. Individuals running the same framework should be able to form private, invite only co-ops within the network. Sort of like the jocks and the geeks in high school. Except neither is aware of the other's existance.
6. Ability to penetrate firewalls.
7. Ability to configure how it communicates over the network. By this I mean being able to run over TCP or UDP and the port(s) used. If everybody built an app using the framework and they all used the same port(s) there could be some problems.
8. Resolution of conflicting apps. By this I mean if two completely different apps are built on to of the framework and somehow choose the same port(s) etc, they should be able to talk to each other and realize that they aren't the same app. So perhaps a signature header in the autodiscovery protocol that identifies the type of application uniquely.
As for ideas for usage of this framework. I don't have any specific ones in mind. However, some uses could be collaboration tools, file sharing, distributed network storage, fault tolerant systems.
Imaging building a database on top of a P2P platform. Now everybody shares the load. Each peer stores a small piece of the whole pie. Several peers share the same information (think RAID). This provides the ability for fault tolerance and greater storage as the number of peers increase. You also make it possible to serve information from peers that are local therefore localizing network traffic.
What do ya think? Have an feeling it won't be voted up based upon the latest ideas showing up. However I think my ideas have merit. The thing I like about it is that it is something relatively new and a chance to learn something new. It's not a complete recreate of the wheel either.
--
"The money power of the country will endeavor to prolong its rule by preying upon the prejudices of the people until all wealth is concentrated in a few hands and the Republic destroyed."
-- Abraham Lincoln
|
|
|
|
|
Yeah, this AF idea could just expand into infinity, and it looks like that's already started.
Maybe we should just limit it to ways of connecting normally used code rather than writing a bunch of utility classes that people could use. (i.e. Write a set of interfaces with default implementations for managing plug-ins, commands, toolbar buttons, menus, documents, views, etc. This way, people can write plug-ins that'll replace or extend the default implementations, as well as invent completely new additions that would still fit perfectly into the architecture. (As most things are now, a new utility class invented by someone else needs to be hooked into a program from code rather than a simple configuration file.)) Don't you just love those extended parenthetic statements?
John
"We want to be alone when we hear too many words and we feel alone when it has been a while since anyone has spoken to us." Paul David Tripp -- War of Words
|
|
|
|
|
I agree, it should probably be cut down to a small, flexible design with only a couple of the ideas we have put forward.
But what do you think are the best ideas, Marc? This is your project to lead.
Jason Henderson latest CPP news
"If you are going through hell, keep going." - Winston Churchill
|
|
|
|
|
Jason Henderson wrote:
it should probably be cut down to a small, flexible design with only a couple of the ideas we have put forward
We also have to remember that people are volunteering their own time, so it has to be fun, short, and engaging.
I don't know if this will be engaging to everyone, but the idea that's crystalizing for me, after reading all these posts, is a framework implemented in C# that provides for the near painless integration of scripts for the purpose of unit testing, regression testing, prototyping, and workflow specification/changes. The .NET framework really makes this possible with its Reflection, Type, and Activator namespaces/classes, allowing "remote control" of methods, properties, parameters, etc.
(Pardon the sounding board). I think this is doable, interesting, uses some fun technologies, and results in a really useful product.
Comments?
Marc
|
|
|
|
|
Sounds good!
It could be used as a built-in debugging/testing apparatus even after a production release.
Over the last couple of years, I've really been pushing for better error logging and application logging in our apps and it makes a world of difference. Adding scripting support would really help our QA team.
What about MACRO recording? Kind of like outputting to your script language for latter playback.
Jason Henderson latest CPP news
"If you are going through hell, keep going." - Winston Churchill
|
|
|
|
|
I've been toying with the idea of using C# or VB as the scripting language for macros/scripting, since the VB/C# compilers come with the .NET framework.
"Blessed are the peacemakers, for they shall be called sons of God." - Jesus
"You must be the change you wish to see in the world." - Mahatma Gandhi
|
|
|
|
|
Jason Henderson wrote:
Over the last couple of years, I've really been pushing for better error logging and application logging in our apps and it makes a world of difference. Adding scripting support would really help our QA team.
I was project lead many years ago on a project that was allocated 6 months of testing. The product was released after 3 months. Why? Because of instrumentation. Have you any idea how nice it was to look at event logs instead of asking QA "what did you do to make THAT happen?"???
Yes, you probably do!
Jason Henderson wrote:
What about MACRO recording?
Great idea!
Marc
Help! I'm an AI running around in someone's f*cked up universe simulator. Sensitivity and ethnic diversity means celebrating difference, not hiding from it. - Christian Graus Every line of code is a liability - Taka Muraoka Microsoft deliberately adds arbitrary layers of complexity to make it difficult to deliver Windows features on non-Windows platforms--Microsoft's "Halloween files"
|
|
|
|
|
Marc Clifton wrote:
Have you any idea how nice it was to look at event logs instead of asking QA "what did you do to make THAT happen?"???
Yes, you probably do!
Oh yeah.
Marc Clifton wrote:
Great idea!
thanks
Jason Henderson latest CPP news
"If you are going through hell, keep going." - Winston Churchill
|
|
|
|
|
If anything, I must admire the timing. I'm currently in the midst of designing, or trying to find design notes or methodologies for developing scriptable applications, while also allowing record and playback via the GUI. Sounds like what's being discussed is pretty much on the mark (no pun intended). I will point out that I have contacted Microsoft to get their concepts on the matter, since they've obviously implemented this once or twice. We'll see where that goes.
I'd like to see how things progress, and would be happy to contribute (I just can't believe there's no serious development environment for C# other than VS.Net - which I can't afford personally). Several thoughts:
I agree with having the Scripting Layer be one of the foundations of the Application Framework. Having this embedded and not as a plugin, I believe, would allow for other plugins to expose information to the scripting layer, thus allowing them to be part of that interaction. Furthermore, it will allow for record/playback IF, and probably ONLY IF there's a good definition of GUI to Actions, and Scripting to Actions. What I mean by this is that the GUI should have, as per your AAL, pretty much NO code in it other than execution of actions, which would be mimicked by the script. Thus, record & playback of data manipulation would be straigtforward. Of course, you always get into that whole deal about scripting GUI (which is a mess - opening/closing windows, selection, active window, search & replace, bla bla bla) - I'm happy to assume I don't really need that peice.
... will 2 cents do? I'm dry out of blood...
Yaron Golan
Yet Another Developer
|
|
|
|