En aquest tema, explorarem com integrar aplicacions MUMPS amb tecnologies web. Aprendrem a crear aplicacions web que interactuen amb el backend MUMPS, utilitzant protocols com HTTP i eines com CGI (Common Gateway Interface). També veurem com servir pàgines web dinàmiques i gestionar sol·licituds web.

Objectius d'Aprenentatge

  • Comprendre els conceptes bàsics de la integració web amb MUMPS.
  • Configurar un servidor web per treballar amb MUMPS.
  • Crear scripts CGI per interactuar amb MUMPS.
  • Desenvolupar aplicacions web bàsiques que utilitzen MUMPS com a backend.

  1. Conceptes Bàsics de la Integració Web

Què és la Integració Web?

La integració web permet que les aplicacions MUMPS interactuïn amb aplicacions web, permetent la creació de pàgines web dinàmiques que poden accedir i manipular dades emmagatzemades en una base de dades MUMPS.

Components Clau

  • Servidor Web: Serveix pàgines web als usuaris.
  • CGI (Common Gateway Interface): Un estàndard per executar programes externs des d'un servidor web.
  • HTTP (Hypertext Transfer Protocol): El protocol utilitzat per transferir dades a través de la web.

  1. Configuració del Servidor Web

Instal·lació d'un Servidor Web

Per començar, necessitem un servidor web. Apache és una opció popular i fàcil de configurar.

Instal·lació d'Apache (Linux)

sudo apt-get update
sudo apt-get install apache2

Instal·lació d'Apache (Windows)

  1. Descarrega l'instal·lador d'Apache des del lloc web oficial.
  2. Executa l'instal·lador i segueix les instruccions.

Configuració per Executar Scripts CGI

Un cop instal·lat Apache, hem de configurar-lo per executar scripts CGI.

Configuració d'Apache per CGI

  1. Edita el fitxer de configuració d'Apache (httpd.conf o apache2.conf).
  2. Afegeix o descomenta les següents línies:
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Require all granted
    </Directory>
    
  3. Reinicia Apache:
    sudo service apache2 restart
    

  1. Creació d'un Script CGI

Exemple de Script CGI en MUMPS

Crearem un script CGI senzill que retorna un missatge "Hola Món".

Script CGI: hello.cgi

#!/usr/bin/env mumps

main
    ; Estableix el tipus de contingut
    write "Content-type: text/html",!
    write "<html><body><h1>Hola Món des de MUMPS!</h1></body></html>",!
    quit

Permisos d'Execució

Assegura't que el script tingui permisos d'execució:

chmod +x /usr/lib/cgi-bin/hello.cgi

Prova del Script CGI

Obre un navegador web i accedeix a http://localhost/cgi-bin/hello.cgi. Hauries de veure el missatge "Hola Món des de MUMPS!".

  1. Desenvolupament d'Aplicacions Web Bàsiques

Formularis Web i Processament de Dades

Podem crear formularis web que enviïn dades a scripts CGI per ser processades per MUMPS.

Exemple de Formulari HTML

<!DOCTYPE html>
<html>
<body>
    <form action="/cgi-bin/process.cgi" method="post">
        Nom: <input type="text" name="nom"><br>
        <input type="submit" value="Enviar">
    </form>
</body>
</html>

Script CGI per Processar el Formulari: process.cgi

#!/usr/bin/env mumps

main
    new nom
    ; Llegeix les dades del formulari
    read nom
    ; Estableix el tipus de contingut
    write "Content-type: text/html",!
    write "<html><body><h1>Hola, ", nom, "!</h1></body></html>",!
    quit

Gestió de Sol·licituds HTTP

Podem utilitzar mètodes GET i POST per gestionar sol·licituds HTTP i interactuar amb el backend MUMPS.

Exemple de Gestió de Sol·licituds GET

#!/usr/bin/env mumps

main
    new query
    ; Llegeix la cadena de consulta
    set query=$ZTRNLNM("QUERY_STRING")
    ; Processa la cadena de consulta
    ; (Aquesta part pot incloure la descomposició de la cadena en parells clau-valor)
    ; Estableix el tipus de contingut
    write "Content-type: text/html",!
    write "<html><body><h1>Consulta: ", query, "</h1></body></html>",!
    quit

Exercicis Pràctics

Exercici 1: Crear un Formulari de Registre

  1. Crea un formulari HTML que demani el nom, cognom i correu electrònic.
  2. Escriu un script CGI en MUMPS que processi el formulari i mostri un missatge de benvinguda amb les dades introduïdes.

Exercici 2: Desenvolupar una Aplicació Web de Llibreta d'Adreces

  1. Crea una aplicació web que permeti als usuaris afegir, veure i eliminar contactes d'una llibreta d'adreces.
  2. Utilitza scripts CGI en MUMPS per gestionar les operacions CRUD (Crear, Llegir, Actualitzar, Eliminar).

Solucions als Exercicis

Solució a l'Exercici 1

Formulari HTML

<!DOCTYPE html>
<html>
<body>
    <form action="/cgi-bin/register.cgi" method="post">
        Nom: <input type="text" name="nom"><br>
        Cognom: <input type="text" name="cognom"><br>
        Correu Electrònic: <input type="email" name="email"><br>
        <input type="submit" value="Registrar">
    </form>
</body>
</html>

Script CGI: register.cgi

#!/usr/bin/env mumps

main
    new nom, cognom, email
    ; Llegeix les dades del formulari
    read nom, cognom, email
    ; Estableix el tipus de contingut
    write "Content-type: text/html",!
    write "<html><body><h1>Benvingut, ", nom, " ", cognom, "!</h1>",!
    write "<p>El teu correu electrònic és: ", email, "</p></body></html>",!
    quit

Solució a l'Exercici 2

Formulari HTML per Afegir Contacte

<!DOCTYPE html>
<html>
<body>
    <form action="/cgi-bin/add_contact.cgi" method="post">
        Nom: <input type="text" name="nom"><br>
        Cognom: <input type="text" name="cognom"><br>
        Correu Electrònic: <input type="email" name="email"><br>
        <input type="submit" value="Afegir Contacte">
    </form>
</body>
</html>

Script CGI: add_contact.cgi

#!/usr/bin/env mumps

main
    new nom, cognom, email
    ; Llegeix les dades del formulari
    read nom, cognom, email
    ; Emmagatzema les dades en una variable global
    set ^contactes($increment(^contactes))=nom_"^"_cognom_"^"_email
    ; Estableix el tipus de contingut
    write "Content-type: text/html",!
    write "<html><body><h1>Contacte Afegit!</h1></body></html>",!
    quit

Conclusió

En aquesta secció, hem après els conceptes bàsics de la integració web amb MUMPS, com configurar un servidor web, crear scripts CGI i desenvolupar aplicacions web bàsiques. Amb aquests coneixements, estàs preparat per crear aplicacions web més complexes que interactuen amb el backend MUMPS. En el següent mòdul, explorarem com treballar amb APIs i serveis web per ampliar encara més les capacitats de les teves aplicacions.

© Copyright 2024. Tots els drets reservats