POSSE and the ICF We want to thank all of you for your interest and generally tremendous enthusiasm for the POSSE initiative that was discussed at the Exchange in San Diego. Those of us in the Development organization who are responsible for dealing with technical issues and getting the project submission part of this off the ground will try to be as responsive as we can to questions and issues raised in this forum. As the ADM architect I'd like to start by summarizing how we expect that some of the basic technical pieces are going to proceed over the coming months and how they relate to the POSSE effort. First the ADM itself: As most of you know, the ADM was thoroughly reworked in Version 9 to take advantage of a number of key new language features, including super procedures, publish/subscribe, dynamic queries, buffers, and temp-tables, and to take advantage of the Progress AppServer to provide a solid model for building distributed applications with no client-side database connection required. These improvements have increased the acceptance and adoption of the ADM within the user community very substantially, and the ADM will be the basis for our future 4GL-based development. Improvements to the ADM itself as well as new SmartObjects for any number of different purposes (new visual components, data management components, communication components...) will be an obvious opportunity for contributions from the Progress developer community. I can't tell you how many terrific-looking SmartObjects we've seen in presentations from our partners, which we'd love to integrate into the product if we only had the time -- that's where you come in. Second, the tools: This starts with the AppBuilder itself, of course, which will continue to the basic tool for building 4GL components and structured procedures. As you know by now, we will be making the source code to the AppBuilder available as the POSSE program gets underway. Generally the same is true of all the 4GL-based Tools, but I will leave it to someone else to provide an enumeration of what and when. Obviously there are endless opportunities for extensions to the toolset which people have wanted to make for a long time, but which have been difficult to accomplish because of the limited API to the internals of the AppBuilder. Opening up the AppBuilder and the other tools which give us the chance to share and incorporate many of your ideas and add-on tools over time. We've heard your messages about when and in what state you'd like to see the code for the tools, and we'll respond to that. Next, a word about 9.1B: In order to keep the flow of new 4GL components coming even in what is otherwise a maintenance release (well, except for WebClient and...), we are adding two major SmartObject "families" to the 9.1B release: the first is a SmartBusinessObject (SBO) which is basically a container for multiple SmartDataObjects which allows complex datasets to be manipulated and updated together in a more coordinated fashion than was possible before. The second is a "SmartB2B" object and a number of other new components which together provide communication between SDOs/SBOs (i.e, Progress data) and other applications, through XML and the new Progress SonicMQ messaging product. Both of these are clearly areas where there is unlimited potential for additional functionality from the developer community. No "Business Object" that we provide will ever cover all the data management needs of your applications, and we expect that many of those needs will be common enough to be worth creating shared solutions for. The same is true of all the e-commerce implications of the "B2B" technology. Finally, the ICF itself. At the Exchange, we announced another new initiative we call the Internet Component Framework or ICF. This is not in any way a *replacement* for the ADM or a new name for it, but rather a broader framework to provide tools and services above the level of individual SmartObjects, which are needed by most applications. This includes User authentication, user maintenance, and runtime security; runtime customization of application behavior; providing session management and deployment tools to keep track of what application components go where and how they should be started and communicated with, etc. etc. The opportunities here are truly limitless, and we expect that many of the contributions made through the POSSE program will be new tools that support application development or deployment in various ways. Very broadly speaking, our goal is that these new services will be usable with or without SmartObjects, so that they can be of use in as many new or existing Progress applications as possible, though they will certainly make use of (and generally built using) the ADM and SmartObjects. We have committed to providing several of the most fundamental ICF components (or at least their initial releases) from our PSC development group. This is first of all to keep the component-based 4GL development technology moving forward as quickly as possible: keep in mind that the current internal plans for establishing the POSSE program have the process starting *after* the release of 9.1B in the early fall (keep in mind as well that all of this hasn't even been officially announced yet). Though the first round of ICF components also hasn't been announced or officially committed to yet, we are working toward a release date similar to the official startup of the POSSE program itself, i.e., within a few months of the 9.1B release date. That first component set (again with no official commitment announcement and other standard disclaimers) is expected to include: a design time and runtime application repository (design time to capture all the contents of an application in a database, not just in source code; runtime to form the basis for customization and enforcement of security definitions); authentication, user maintenance, and runtime security mechanisms; and a Session/Context management system to control starting and stopping and communicating with objects in a distributed application, and saving and restoring context for stateless access and WebSpeed access to those objects. Some of you have been able to review preliminary specs for those components under the "Open Spec" program which has been started, and will be expanded as we move forward. Once the POSSE program is fully underway, there will be tremendous opportunities for us to share the wealth of creative additions to the basic Progress product that many of you have already developed or have in mind, and we look forward to starting the process of opening those floodgates for the benefit of all. |
|
![]() |