Produkter


Microsoft SQL Web Framework

En SQL-server er ekspert på å håndtere og utveksle data, men er ofte ikke det best egnede verktøyet for å håndtere komplekse webportaler og bygge opp tekststrenger, som en webside består av. Dette har vi gjort noe med, og laget et verktøy som gjør at du får utnyttet databasen til det som MSSQL er best på, og at du allikevel kan lage kraftfulle webportaler med liten, men effektiv T-SQL kode.
Stort sett alle Publiseringsverktøy på markedet benytter en database i bakkant til å lagre både html-maler og innhold. Problemet med MSSQL er at man ofte ikke ønsker å bruke databaseserveren til å flette dette sammen, slik at du får fyllt malene med det innholdet du ønsker. Derfor har vi bygget en generelt rammeverk som gjør at dette flettes sammen utenfor databaseserveren. På denne måten får du benyttet både MSSQL og web-serveren til hva de er best egnet til.

Portal-bygger INTRO

Tenk deg at du har lageret en html-mal i en tabell, og at du ønsker å fylle denne med innhold. Hele koden består da av to ulike spørringer, en SELECT-spørring for å hente ut malen, og en SELECT-spørring for å hente ut innhold.

To tabeller for demo
CREATE TABLE Template (
	TemplateID INT PRIMARY KEY
        ,html VARCHAR(max))
CREATE TABLE WebContent (
	webpath VARCHAR(50) PRIMARY KEY
        ,Title VARCHAR(200)
        ,Description VARCHAR(max))
En enkel mal:
INSERT INTO Template (templateid,html)
VALUES (1,'<html>
    <head>
        <title>{$Content.Title$}</title>
    </head>
    <body>
        {$WebContent.Description}
    </body>
</html>')
To enkle sider:
INSERT INTO WebContent (webpath,Title,Description)
VALUES ('/om-oss','Om oss','SQLExpert AS, Gullrisveien 8, 1715 Yven')
INSERT INTO WebContent (webpath,Title,Description)
VALUES ('/produkter','Produkter','Prøv vårt nye web-verktøy')
Så selve T-SQL koden:
SELECT *,1 AS WebContent-- Referanse, WebContent er tabell 1
FROM Template
WHERE TemplateID = 1
 
SELECT *
FROM WebContent
WHERE webpath = @webpath
Slik ble resultatet: /om-oss (raw) - /produkter (raw)

Du kan legge til så mange tabeller du ønsker, og du kan hente ut data fra samtlige. Systemet støtter også repeatere, så du f.eks. kan bygge en meny. Det er også støtte for if-statements i malen. Dette var veldig overfladisk i forhold til hvordan dette fungerer. Hvorfor ikke teste det ut?

Som en referanse er nettsiden du er inne på nå bygget opp med dette verktøyet. Bevis? Legg på /?getrawdata=true bak hvilken som helst side, så ser du hvordan den er bygget opp. For eksempel denne.

Portal-bygger INTRO 2

La oss gjøre det litt mer spennende. Vi bruker de samme tabellene, men legger til en "repeater".
La oss legge til en ny mal:
INSERT INTO Template (templateid,html)
VALUES (2,'<html>
<head>
    <title>{$Content.Title$}</title>
</head>
<body>
    {$WebContent.Description$}<br />
<br />
    <sql repeat="r in Pages" filter="">
        <a href="{$a.webpath$}">{$a.Title$}</a><br />
    </sql>
</body>
</html>')
Så selve T-SQL koden:
SELECT *,1 AS WebContent-- Referanse, WebContent er tabell 1
,2 AS Pages-- Referanse, Pages er tabell 2
FROM Template
WHERE TemplateID = 2
             
SELECT *
FROM WebContent
WHERE webpath = @webpath
             
SELECT *
FROM WebContent
Slik ble resultatet: /om-oss (raw) - /produkter (raw)

Det er også støtte for if-statements, noe vi ikke går i detalj på nå. Se mer om dette i dokumentasjonen.

AJAX

Med samme komponent som Portal-byggeren, kan du også kommunisere med en webklient ved bruk av AJAX-kall. Systemet støtter alle web-kall som POST, DELETE, GET, PUT og lignende.

Input

Alt bygges opp med en felles STORED PROCEDURE. Denne får en god del inputparametere fra klienten, slik at du kan bearbeide data og gi en ønsket tilbakemelding tilbake til klienten. Input-parametere på prosedyren er @SessionID, @Ip, @UrlParts, @UrlParams, @Xml, @Method og @ContentType. Basert på dette vet du domenet, hvilken url som hentes, og data som klienten sender inn. Ved å benytte @SessionID kan du også benytte session-handling, og rettighetsstyre innholdet.

Output

Output kan bygges opp på mange måter, men den vanligste er å bare returnere en tabell. Denne tabellen blir konvertert til JSON før den sendes tilbake til webklienten. Eksempel:
SELECT 'ok' AS Response
        ,'Dataene er lagret' AS [Description]


Priser

Bedrift

Bedrift: Kommersiell virksomheter, inklusive kommune og stat.
ServerKjøp versjon 2.x
Enkelt domene, enkel web-server14.900,- eks mvaKjøp
Mange domener, enkel web-server39.000,- eks mvaKjøp
Enkelt domene, flere web-servere39.000,- eks mvaKjøp


Nonprofit, med referanse

Private og ikke-kommersielle virksomheter.
Referanse: Alle sider hvor komponenten benyttes må ha link til http://www.sqlexpert.no
ServerKjøp versjon 2.x
Enkelt domene, enkel web-serverGratis med referanseLast ned
Mange domener, enkel web-serverGratis med referanseLast ned
Enkelt domene, flere web-servereGratis med referanseLast ned

Give us feedback

Microsoft SQL Expert

La oss hjelpe til med din Microsoft SQL database.