Adding and managing programming interfaces
RISE supports adding programmable interfaces to an information model. This allows you to govern the use of the information in simple, fast and maintainable ways. Adding interfaces is what transforms your information model into a complete information system.
The easiest way to create an interface is to drag the interface symbol from the left-hand, tool box pane and drop it onto an existing object, i.e. an entity or a view. The interface will then automatically implement all methods needed to fully and efficiently work with the implemented object. To implement another object using the same interface right-click the interface and select Implement... from the popup menu and choose the object you want to implement. All methods needed for the new object will then be automatically added to the interface. Of course, you may add methods manually to an interface as well as modify or delete the generated methods. RISE even allows creation of aggregated methods, by orchestration of existing ones, as well as adding of custom code methods.
As your model progresses RISE automatically assures that all interfaces remain consistent with your model. For instance, if you rename the Folder entity to Directory all methods are renamed and if the Author attribute is deleted any method result sets or arguments based on the attribute will be removed. To update an existing interface with new methods or new method arguments, right-click the interface and choose Refresh from the pop-up menu. This will add any missing methods and add any missing attributes to the arguments and return sets.
A best practise hint: create one interface per sub-system, like in the above example, rather than one interface per object (entity or view).
An interface inside RISE isn't implementation specific and the final result is decided by the code generator used when rendering the actual programming interface. In these example we assume, unless otherwise specified, that a c# web service is generated. A web service can be called from programs developed in most developement environment such as Visual Studio, Eclipse or NetBeans or directly from a web page using AJAX or it can be made part of a larger infrastructure using an integration engine, such as BizTalk or WebSphere.