Prest

Prest
Utvecklare McObject
Initial release 2003 ; 20 år sedan ( 2003 )
Operativ system Cross-plattform
Typ ODBMS
Licens GPL eller proprietär
Hemsida www .mcobject .com /perst

Prest är ett objektorienterat, inbäddat databashanteringssystem ( ODBMS) med öppen källkod, dubbla licenser . Både programmeringsspråket Java och programmeringsspråket C# är kompakta och Prest har implementerats på smarta telefoner som kör operativsystemen Android och Windows Phone (WP7) .

Historia

Prest lanserades 2003 i Ryssland. Den designades för att uppnå hög prestanda genom att tätt integrera databasen med programmeringsspråket: Prest lagrar data direkt i språkobjekten. 2006 tog McObject LLC, baserat i Issaquah, WA över utvecklingen av Prest. Den fortsätter att erbjuda gratis nedladdningar och har lagt till kommersiella licensalternativ.

Prest skrevs först i Java och portades till C#. Även om det ursprungligen var designat för skrivbords- och serverbaserad programvara, har Prest också funnit användning för att tillhandahålla databashantering för mobilapplikationer som körs på enheter som smartphones . Dessa mobila enheter har vanligtvis hårdvarubegränsningar, med begränsat RAM-minne och få CPU-cykler tillgängliga och driftskrav som inte är standard (för databassystem) (som stöd för Java ME eller Silverlight i den mobila plattformen Windows Phone 7).

Versioner

För närvarande tillgängliga versioner av Prest är Prest för .NET , Prest för Java och Prest Lite. Prest för Java och Prest Lite är samlade i en enda programvarudistribution.

Prest för .NET stöder C# version 1.0 och 2.0 med samma källkod. Stöd för specifika C# 2.0-funktioner (som mallklasser) tillhandahålls vid kompileringstillfället. Den är kompatibel med både standard och kompakt .NET-ramverk, såväl som Silverlight, och kan fungera på både Microsoft Windows Phone 7 (WP7) och Windows Embedded Compact (tidigare Windows CE).

Prest för Java stöder J2SE / J2EE version 1.3 och 1.4, samt J2SE/J2EE version 5. Den är kompatibel med Android-smarttelefonmiljön.

Prest Lite är Prest för Java-implementeringen som körs på enheter (som BlackBerry-smarttelefoner) baserad på Java ME (J2ME) mobilenhetsplattform. Den har ett minnesfotavtryck som är cirka 30 procent mindre än standard Prest.

I detalj

Storlek

Prest-motorns storlek är 5 000 rader källkod och dess behov av RAM-minne ( Random-Access Memory ) varierar från 30K till 300K.]

Transaktioner

Prest -transaktioner stödjer ACID- egenskaperna (atomicitet, konsistens, isolering, hållbarhet) med automatisk återhämtning.

Frågar

Prest tillhandahåller en underuppsättning av SQL för att filtrera element i en containerklass . För åtkomst till lagrade objekt implementerar Prest specialiserade samlingsklasser inklusive:

Schema evolution

För att underlätta ändringar av en befintlig databasdesign ( databasschema ) implementerar Prest "lat" databasschemautveckling. När en objektinstans laddas från databasen jämförs dess klassdeskriptor med formatet för klassen i applikationen. Om de inte är identiska och objektet ska ändras, konverteras objektet och lagras i det nya formatet. Med ett "ivrigt" schema skulle evolutionens formatförändringar svepa igenom databasen på en gång.

Ytterligare egenskaper

Exempel på implementeringar

ProScout är en demo-midlet för att använda Prest Lite i Java ME-miljön. Demonstrationen är en diskret anteckningsanläggning för en sportrekryterare. Ursprungligen implementerad för Blackberry , har den även implementerats på Nokia S60 .

McObject tillhandahåller en demo-app av ett CRM-system som använder Prest för .NET, inklusive en fullständigt sökbar kontaktdatabas som körs i skrivbordswebbläsaren i Silverlight. Andy Wigley, från appamundi, överförde den här demoappen till Windows Phone och beskrev projektet i en serie blogginlägg.

Licensiering

Användare kan omdistribuera och/eller modifiera Prest under villkoren i GNU General Public License (version 2 eller senare) som publicerats av Free Software Foundation . För individer eller organisationer som inte kan eller vill följa GPL finns en kommersiell licens tillgänglig från McObject.

externa länkar