First: Thanks for taking the time to look around at it and write such a detailed reply.
As for the ambiguous language used to describe what each portion does - my forté is coding, not marketing-speak. I am working on some much more in-depth write-ups about each piece and its function within the whole. I'll try to summarize these pieces here:
- WWW-Live Server:
s/Live/Production/ - The publicly-available version of websites managed by the system.
- WWW-Dev Server:
The preview/special-access-only location of websites managed by the system.
- Customer Extranet:
An authenticated portal-esque site intended for sharing customer-specific information with trusted 3rd-parties. Orders, pricing/quotes, specialized data-exports, etc. Ideal usage would be a B2B supplier portal, wholesale distributor portal, etc.
- Document Server:
A web-based file server that offers versioning, permissions, forced SSL downloads and view-tracking. Since it is also tied in with the rest of the system, it can generate events (i.e. - "Bob downloaded the proposal").
- Messaging Server:
*Not* instant messaging. It's more of an asynchronous, distributed publish/subscribe model. The Messaging Server just helps connect the dots between the events that are raised and objects that are listening for those specific events.
- Portal Server:
This is what the screenshots are of. The admin console, basically. Although the basics are covered (user administration, permissions, documents/contacts/settings) its main purpose is to serve up all your CRUD pages. It uses a series of widgets that simplify things like lists and form-generation so that you only have to code what is absolutely necessary.
- Public API:
Rather than hiding functionality behind a wall, all the functionality used within the application is available through the public API.
Admittedly the diagram needs to be updated and the other parts are perhaps a bit "forward-looking" but like I said in my original post, these are the kinds of tools I kept finding I needed, but didn't have. My hope is that together they help speed development by removing some of the tedium of web development so that the focus can be on adding real features and functionality.
"
Why does this guy think that he can compete with, never mind surpass, these existing suites?"
Having worked with WebLogic and JBoss, I feel that they are slightly overrated. They have some great features but to get anything done just requires
so much effort even from experienced developers. There are other open-source "portal" servers as well:
- Metadot:
Have you actually downloaded the code and looked at it? HTML embedded within Perl. Not my idea of How Things Should Be Done.
- Mambo:
Mostly focused on content management. Written in PHP. Functions interspersed within display-layer code. HTML embedded within application code. Lots of SQL embedded within application code. At first glance it looks wide open to SQL-injection attacks.
- Apache JetSpeed Portal:
Every download link for the source leads to a 404 error. Considering there are lots of people working on this, I can only assume it's worth looking at. It appears to address the same kind of problem-domain that other Java portal servers address.
- Bricolage:
Focused on content-management. Not an application development environment.
- Vignette:
If you're starting up a (well-funded) online newspaper, Vignette might just be your cup of tea. Otherwise, keep shopping.
- Siebel/Peoplesoft/Dynamo/WebSphere/WebLogic:
If you have a million dollars to spend, a dozen people to manage and a year to wait, check these guys out. YMMV
I have never been impressed with something just because it's written in $Language, or because it costs $Price, or because it comes from $Enterprise_Level_Multinational_MegaCorp. I know that necessity is the mother of invention, not over-inflated budgets and shiny suits.
My goal with this project really is to provide a platform on which to develop web-based applications. I'm just not sure what to call it, or if it's really necessary to come up with an "umbrella" name to group everything under.
Ideas?