While the Amiga has had IPC facilities from the very first, ARexx adds something new to that mix - it allows people using applications, as opposed to just those building them, access to those facilities at a very fundamental level.
Providing the ability to talk to other applications is simple - you don't even have to provide an ARexx port. Just some mechanism so the user can launch scripts - for example, allowing them to call "system" so they can use rx - will allow the user to control other applications from your program.
However, allowing other applications to use your application as a server must be done via your ARexx interface. This requires at a minimum a real command interface, as well as some thought regarding how running as a server is going to affect your application.
See everything and more for details.
On to goals of a design, back to scripting facilities, or up to what is ARexx .
Mike W. Meyer