Skip to content

Make demo cross platform #188

@DavidBoike

Description

@DavidBoike

Even though the Particular.PlatformSample package upon which this demo is based is cross-platform, the Monitoring Demo is still tied to Windows only, and should be made cross-platform.

Why cross-platform doesn't currently work

This has nothing to do with ServiceControl or ServicePulse. Instead, it's due to how the demo is structured to have one original application spawn many child applications in separate console windows, each having their own controls requiring access to stdin to affect each endpoint in various ways that show up in the ServicePulse Monitoring view.

The demo also relies on native kernel32.dll imports to coordinate all the processes as Jobs so that they start and finish as a unit.

What needs to change

This functionality would need to be redesigned to work on Mac/Linux as well. Perhaps all endpoints should be multi-hosted in one process with one coordinated UX, or perhaps a web application should launch so that each endpoint can be visualized as a web page with individual controls.

Deployment would also need to change. Currently a single Windows ZIP file is uploaded to S3. There may need to be separate downloads for each platform, or changed to be a universal download in some fashion.

Apple Silicon

Incidentally, because the RavenDB Embedded package will not work on Windows ARM, the Monitoring Demo cannot be smoke tested on MacOS systems with Apple Silicon, even when virtualizing Windows with a tool such as Parallels. Having personally done many ServiceControl releases over the past few months, this is always a step in the release process I have to ask someone else to do.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions