I really like the idea of an IDE. It should do all the keeping track of
things for me. It should help me with my builds, it should make debugging easier for me, and RDI does a lot of that very nicely. But one place where it falls short is in helping with ILE builds. I shouldn't have to remember what modules are used to build which service programs. I shouldn't even have to manage binder source, the IDE should be able to do that for me. Maybe I am missing something, but this sort of build support should be a minimum level of support. I was talking to a colleague about ILE, and he told me that he hasn't done ILE because it is too hard. To hard in that there are too many moving parts, and no tools that know how to manage them. If I am missing something, please let me know, but I just don't see it in RDi. I was hoping that an I Project would be the ticket, but not really. It lets you write a binding program, but that is not the tool doing the work.
What would be nice is to be able to define a service program in some sort of meta data. A dialog would let me attach modules to the service program, and then tell which procedures were exported. It would also allow me to attach binding directories, and work with the binding directory entries. It would be smart enough to know whether to create or update the service program based on source dates, and whether or not I have added a new module. And I would simply have to tell RDI to build the service program, and it would do it all correctly. That includes recompiling the sources that have changed, and updating or replacing the service program. Generating the appropriate binder source with a static signature. Disallowing moving or removal of exports if at all possible, or making it painful to do so because that would require a rebind of all dependent programs and service programs. It would be nice though if RDi could handle that though as well, automatically.
Use Case: In RSE:
1. Right click a library and select new, there should be a few additional objects here:
a. ILE Program
b. ILE Service Program
c. Binding Directory
2. A prompt dialog for the appropriate command is opened, and attribute values are stored in meta-data somewhere, perhaps the IFS. For example:
a. for New ILE Program, prompt CRTPGM
b. for New Service Program, prompt CRTSRVPGM
c. for New Binding Directory, prompt CRTBNDDIR
3. Additional meta-data would need to be stored:
a. for New Service Program store variable and procedure exports used to generate Binding Language
b. for New Binding Directory store modules and service programs to be referenced in the binding directory
4. When I right click an ILE Program, or Service Program in RSE I should be able to choose Build, and it will either Create or Update the object based on whether it exists or not in the library. That means that the RSE should list the meta-objects as well as the real objects associated with the directory. this could be a filter option. Once the object is built, it should show up as a real object instead of a meta-object.
5. This could be used for other non-source objects such as Data Areas, Data Queues, and User Spaces.
6. I want a way to generate, save, and update the meta-data for an object that already exists.
7. Binding Language should be maintained automatically based on exports specified in the meta-data.
8. The tool should make it easy to enforce best practices such as: do not change the order of exports, or their parameters, Just use a non-generated signature for service programs, or if using generated signatures, the tool should manage them transparently.
The CAAC has reviewed this Idea and recommends that IBM view this as a high priority requirement that is important to be addressed. To encourage growth and appeal to newer customers, basic build tools should be included in the RDi product.
Background: The COMMON Americas Advisory Council (CAAC) members have a broad range of experience in working with small and medium-sized IBM i customers. CAAC has a key role in working with IBM i development to help assess the value and impact of individual Ideas on the broader IBM i community, and has therefore reviewed your Idea.
For more information about CAAC, see www.common.org/caac
Nancy Uthke-Schmucki - CAAC Program Manager
We have reviewed this requirement and we feel it would be a beneficial enhancement to the product that aligns with our priority of productivity and migration from PDM and SEU.
We plan to add the requirement to our future roadmap.
We have reviewed this requirement and we feel it would be a beneficial enhancement to the product. We hope to be able to add it to our development plans in the future.
The COMMON Europe Advisory Council (CEAC) has reviewed this requirement and recommends that IBM view this as a MEDIUM priority requirement that should be addressed.
Background: The CEAC members have a broad range of experience in working with small and medium-sized IBM i customers. CEAC has a crucial role in working with IBM i development to help assess the value and impact of individual RFEs on the broader IBM i community and has therefore reviewed your RFE.
To find out how CEAC help to shape the future of IBM i, see CEAC @ ibm.biz/BdYSYj and the article "The Five Hottest IBM i RFEs Of The Quarter" at ibm.biz/BdYSZT
Therese Eaton – CEAC Program Manager, IBM
Even if the whole request isn't provided, any help in creating and maintaining service programs would be helpful (like generating the binder source from the exported prototypes). I often have to put the compile command in the source so I can remember all the various parameters and exceptions for individual service programs.
I also agree with Vic, as TurnOver handles dependencies - that kind of thing has long been the functionality of software change management apps - IBM has Team Concert, which took some time to get the dependency support in there.
I just don't know if editors should be expected to have all the build stuff, but I am probably missing something. And even Visual Studio can have problems, with the complexity of some C++ stuff that I've seen.
Due to processing by IBM, this request was reassigned to have the following updated attributes:
Brand - Servers and Systems Software
Product family - Programming Languages
Product - Developer for Power Systems
For recording keeping, the previous attributes were:
Brand - Rational
Product family - Design & development
Product - Developer for Power Systems
I agree with Vern. But I'm not voting for this one. Because I'd rather see the energy spent on better refactoring. Turnover handles this for us.
This RFE will be under consideration for a future release. Status has been updated to Uncommitted Candidate.
A preliminary evaluation of this request indicates that it is consistent with our business strategy. Further evaluation of this RFE is underway.
I voted for this, and I acknowledge that these ideas sound like things that the various SCMs manage.
Still, the cost of those is prohibitive for smaller shops, and these features would help encourage adoption of the direction IBM seem to want us to go - ILE, modular development, service programs, etc.
I think a parallel can be seen in the packaging in Visual Studio, where references to resources needed to support an executable are brought into a list that makes things repeatable. VS packaging goes further, in that it gathers the files, themselves. This feature here could consist only of a template for creation, perhaps.