Showing posts with label integration. Show all posts
Showing posts with label integration. Show all posts

Creating an environment for plug-ins

Mike's Notes

Here are my rough ideas about how to create an environment in Pipi 9 for plug-ins.

I want to reduce Pipi to its essential and closed core, and the remainder will be turned into open-source plug-ins available on GitHub. The community could then create other plug-ins and modules to extend the platform.

I would like to talk with people who have done something similar.

Resources

References


Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

11/05/2025

Creating an environment for plug-ins

By: Mike Peters
On a Sandy Beach: 04/03/2025

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

From Wikipedia - "In computing, a plug-in (or plugin, add-in, addin, add-on, or addon) is a software component that extends the functionality of an existing software system without requiring the system to be re-built. A plug-in feature is one way that a system can be customizable.

Applications support plug-ins for a variety of reasons including:

  • Enable third-party developers to extend an application
  • Support easily adding new features
  • Reduce the size of an application by not loading unused features
  • Separate source code from an application because of incompatible software licenses
..."

I have been putting off creating a plug-in environment for Pipi 9 because it wasn't an urgent task.

However, recently, a representative of a large software company contacted Ajabbi about embedding their product on ajabbi.com web pages, which raised the issue of plug-ins. We talked, and now they are considering it.

I might have a first plugin to build, so I better figure out how to do this. :)

I am now working this out by the seat of my pants, and things will no doubt change a lot.

I did a lot of investigating when working on Pipi 6 (2017-2019), and I liked how OpenERP (Now Odoo) enabled community-sourced extensions (they call them addons) to its open SaaS product.

The Odoo addons are packaged using a sensible standard format.

  • manifest_py
  • readme
  • controllers/
  • data/
  • demo/
  • doc/
  • i18n/
  • models/
  • report/
  • security/
  • static/
  • tests/
  • tools/
  • views/
  • wizard/

Plug-in package

A package structure similar to Odoo and simple industry standard file formats would work, packaged in a zip file and including the following.

  • Name
  • Description
  • Author/developer
  • Icon
  • Manifest file (XML)
  • Sample data (SQL)
  • Language strings of any other language mapping to the base English string (CSV)
  • etc

Plug-ins and modules are quite different.

SaaS Module

  • SaaS applications are built out of reusable modules.
  • The admin web UI should be the only thing required to add or remove modules (tick boxes).
  • Modules follow domain-driven-design (DDD) principles.
  • Have an MCV architecture.
  • Examples:
    • Assets
    • Invoices

SaaS Simple Plug-in

  • Simple Plug-ins add simple UI functionality to a SaaS application and usually involve HTML.
  • Simple forms are used to add plug-ins.
  • CMS Examples:
    • Embed Google Map
    • Embed ESRI Map
    • Embed Mathematica Notebook
    • Embed Jupyter Notebook
    • Embed complex Java object

SaaS Complex Plug-in

  • Complex Plug-ins can work with third-party applications using methods such as databases, APIs, scripting, XML, and JSON.
  • The DevOps Engine (dvp) is required to configure integration.
  • Examples:
    • Office 365
    • Google Workplace
    • Zoho
    • Odoo

Pipi Plug-in

  • Pipi Plug-ins extend Pipi by adding 3rd-party software using wrapper and configuration settings.
  • The DevOps Engine (dvp)  is required to configure integration.
  • The plug-ins can interact fully with the engines and other Pipi objects.
  • Examples:
    • Docker
    • Database, e.g. semantic, graph, document
    • Another computer language, e.g. Prolog
    • Another API type, e.g. SOAP
    • Azure platform config
    • AWS platform config
    • GCP platform config
    • WolframAlpha
    • ESRI ArcGIS

Engines

  • The Plug-in Engine (plu) to register plug-ins is now being built.
  • The Module Engine (mdl) registers all modules.

Health systems in New Zealand

Mike's Notes

One of the reasons for creating Pipi is to provide support for health systems.

I have followed SNOMED for several years and participated in an OMG health workflow effort during the COVID lockdown. I did not contribute much, but I learned by watching how a standard's body functions with people working remotely. Ken Rubin skillfully led the effort.

Locally, there is Health Information NZ (HINZ). This is the primary organisation involved in standards and interoperability. The NZ public health system has 3,000 applications that don't integrate and must be fixed. I recently signed up to use SNOMED.

My account at SNOMED CT has been approved.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

18/5/2025

Health systems in New Zealand

By: Mike Peters
On a Sandy Beach: 17/08/2024

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

SNOMED

"SNOMED CT or SNOMED Clinical Terms is a systematically organized computer-processable collection of medical terms providing codes, terms, synonyms and definitions used in clinical documentation and reporting. SNOMED CT is considered to be the most comprehensive, multilingual clinical healthcare terminology in the world.[1][2] The primary purpose of SNOMED CT is to encode the meanings that are used in health information and to support the effective clinical recording of data with the aim of improving patient care. SNOMED CT provides the core general terminology for electronic health records. SNOMED CT comprehensive coverage includes: clinical findings, symptoms, diagnoses, procedures, body structures, organisms and other etiologies, substances, pharmaceuticals, devices and specimens.

SNOMED CT is maintained and distributed by SNOMED International, an international non-profit standards development organization, located in London, UK. SNOMED International is the trading name of the International Health Terminology Standards Development Organisation (IHTSDO), established in 2007" - Wikipedia

Webinar

Topic: Transforming healthcare interoperability with FHIR

12:30pm to 1:30pm, Wednesday 28 August 2024

Watch live or on demand

"FHIR has become a household name as the standard that has moved health data exchange into the modern era.

Experts from both sides of the Tasman will discuss the latest developments using FHIR for joined-up care and better user experience.

This will include an update on the HISO interoperability standards and supporting tools that are Health NZ's delivery priorities in 2024, including the NZ Health Terminology Service (NZHTS), SNOMED CT NZ Edition, and NZ Core Data for Interoperability (NZCDI).

Also hear about developments from the first FHIR Accelerator in Australia, as well as implementation of the New Zealand Patient Summary." - HiNZ

Enterprise Integration Patterns from Gregor Hohpe

Mike's Notes

Resources

References

  • Enterprise Integration Patterns

Repository

  • Home > Ajabbi Research > Library > Authors > Gregor Hohpe
  • Home > Handbook > 

Last Updated

11/05/2025

Enterprise Integration Patterns from Gregor Hohpe

By: Mike Peters
On a Sandy Beach: 03/05/2019

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

Enterprise Integration Patterns is an excellent book by Gregor Hohpe and Bobby Woolf, and describes 65 patterns for the use of enterprise application integration and message-oriented middleware in the form of a pattern language.

Published by Addison-Wesley, 2004.

Gregor Hohpe is currently a technical director in Google Cloud's Office of the CTO.

There is an excellent website for the book.

A 2016 interview with the authors on IEEE Software. A Decade of Enterprise Integration Patterns: A Conversation with the Authors. PDF is available.

A presentation by Gregor at YOW Singapore Conference 2017



Integration styles and types

The book distinguishes four top-level alternatives for integration:

  • File Transfer
  • Shared Database
  • Remote Procedure Invocation
  • Messaging

The following integration types are introduced:

  • Information Portal
  • Data Replication
  • Shared Business Function
  • Service Oriented Architecture
  • Distributed Business Process
  • Business-to-Business Integration
  • Tightly Coupled Interaction vs. Loosely Coupled Interaction

The graphic icons used in the patterns are also freely available from different sources.

  • Visio Stencils
Some additional graphics notes here.

Blogs

Software

Enterprise Integration Patterns are implemented in many open-source integration solutions.

Commercial MOM Message Queuing Services in the cloud include