Skip to end of metadata
Go to start of metadata

Kuali Rice PoC scenarios for different roles

Service developer

A service developer is someone who is responsible in developing, acquiring or implementing/installing a service.



Problem if requirement is not met

Result of PoC

An individual service has been in use for six years without having to do any changes to it. The service provides an interface against which eight critical services are integrated that need to be functional non-stop. For this service new features are needed which means that the interface needs to be modified.

The new version of the service must be installed into the production environment replacing the old version in a way that the eight existing integrations continue working without needing to change them. Also the maintenance window resulting in outage should be as short as possible.

The development of services become complicated. An update to a single service might result in considerable hidden expenses.

Business operations change and a new service needs to be built to support new requirements. A ready made component is available on the market, but it has been developed using a different technique/programming language than used in the other services connected to the platform.

A service must be possible to connect to the SOA platform even though it is developed using a different technique than the existing components.

A new component has to be developed even though a ready made and tested component exists on the market at a reasonable price. In a worst case scenario the component has to be bought from a certain vendor.


A new service is been developed by aggregating existing services. The service should be tested against the existing services before going in to production.

It must be possible to install a test environment and test implementations of the existing services. Monitoring the information flow must be possible.

Faulty versions of components may end up in the production environment.

A developer is developing a new search service but is unaware that one already exists.

The SOA platform must be able to list the services and their functionalities that are connected to it.

Duplicate services are developed which means that the amount of maintenance and costs increase.

A developer is developing a new service and notices that it would be possible to utilize existing services. However, the existing services do not offer a public interfaces.

The SOA platform must support developing services that wrap functionalities from existing legacy systems. For instance, communicating via a database connection or transfer files.

Duplicate services are developed which means that the amount of maintenance and costs increase.

Support and development for the SOA platform ends. A significant amount of services and integrations are using the platform.

It must be possible to replace the SOA platform with another product with reasonable effort and without having to redevelop the services.

The new platform and integrations have to be developed from scratch which means very big expenses.

A developer is working on an integration that involves five different services. The interfaces of the services do not have transaction support. The developer has to be sure that in case of a error the integration is not left in a flawed state and the data most not get corrupted. 

The SOA platform must support the development of transactional services and it must support distributed transactions.

Complex integrations can not be implemented or maintenance becomes difficult. Testing of integrations is difficult.

The SOA platform is not functioning as expected.

The documentation of the platform must be good and support services must be available. Source code must be available so that it is possible to verify its functionalities on source code level. It must be possible to patch the product.

Services may have to be done in a different way than planned to get around a problem on the platform. In the worst case a service is impossible to implement and the whole platform has to be changed.

A new service has been developed that is to be installed to production.

The installation of a new service must not result in outage to other services that are connected to the platform.

Maintenance becomes difficult and requires a lot of work. Upgrading the systems connected to the platform becomes painful.

The tool used to develop components to the SOA platform is not working as expected.

It must be possible to develop component for the SOA platform with multiple different tools. Also it must be possible to inspect the component without having to use any specific tool. 

The development of services is slow and expensive.





Administrator (of SOA platform)

An Administrator of the platform is someone who is responsible of running the platform and its maintenance.



Problem if requirement not met

PoC Results

A critical malfunction has happened on the SOA platform.

An administrator must get alerted about the malfunction.

The outage of depending services is longer.

An administrator has received an alert of a critical malfuntion.

An administrator must have a centralized tool with which he can see the overall status of the system, which services are affected and what is causing the error. 

Maintenance is difficult and the outages are longer.

Admin A has received an alert that service A is not functioning correctly. Admin B has received an alert that service B is not functioning correctly. However, the alerts do not contain information about what is causing the problem. Services A and B are integrated to a third service that is causing the problem in both services.

Administrators can easily view the dependencies of different services and can pin point the cause of the problem.

A lot of time can be spent on trying to find the cause of the problem

The use of services increases dramatically.

The system should be horizontally scalable by using a cluster.

The whole platform has to be changed or some services have to be dropped.

The is a new service that has a bug that causes heavy load at regular intervals.

The platform must have admin tools with which an admin can monitor the state of a certain service and the traffic related to it.

Fixing problems gets more difficult. Admins are reluctant to install new services.

A service must be upgraded. The interfaces provided by the services are been used in an important integration that is sending the service asynchronous messages. The integration must not break during the upgrade window.

If asynchronous messaging is used a service must not brake when upgrading a service.

More maintenance work is needed. Admin are reluctant to install or upgrade services.

A security audit will be performed or a security breach is suspected.

For the services and integrations that are connected to the platform, it must be possible to inspect their visibility to the network (which services are possible to access outside the local network etc). It must be possible to monitor traffic for each service. It must be possible for the admin to get a good picture of all security related technologies used in the platform.

A risk of a security breach is higher if it is not possible to monitor security centrally.

Three services running on the same server are integrated to each other. The address of the server changes.

When a address of a server changes, services must be able to talk to each other without having to reconfigure them.

The need for maintenance increases. The risk of a service breaking is higher when doing changes.









  • No labels