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
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
,2 AS Pages
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]
Bedrift
Bedrift: Kommersiell virksomheter, inklusive kommune og stat.
Server | Kjøp versjon 2.x | |
Enkelt domene, enkel web-server | 14.900,- eks mva | Kjøp |
Mange domener, enkel web-server | 39.000,- eks mva | Kjøp |
Enkelt domene, flere web-servere | 39.000,- eks mva | Kjøp |
Nonprofit, med referanse
Private og ikke-kommersielle virksomheter.
Referanse: Alle sider hvor komponenten benyttes må ha link til http://www.sqlexpert.no
Server | Kjøp versjon 2.x | |
Enkelt domene, enkel web-server | Gratis med referanse | Last ned |
Mange domener, enkel web-server | Gratis med referanse | Last ned |
Enkelt domene, flere web-servere | Gratis med referanse | Last ned |