Symbol eXtension » képfájlok

Címkék: ‘képfájlok’

8. Statikus HTML elemek használata csomagban

posted in: SaaS és Intranet (Tags: , , , , ) - No Comments

A statikus HTML tartalom (js, css, kép fájlok) elhelyezése kis és közepes fájl mennyiség esetén nem okoz gondot. De egyre gyakoribb valamelyik JS függvénykönyvtár használata (prototype, dojo, jsScrolling, Sajax, jQuery, stb.). Ezek pedig általában több, mint 100 fájlt is tartalmazhatnak. Hagyományos webszerver esetén nincs más dolgunk, mint a ZIP állomány tartalmát kicsomagolni a web kiszolgáló egyik könyvtárába. Nézzük, hogy oldható meg egy SaaS-es SyX esetén!

Nagy mennyiségű statikus fájl kezelésére vezettük be a WebStaticResourcePack attribútumot. A WebStaticResource mintájára egy virtuális könyvtárat kell megadni, ahova fel kívánjuk fűzni (mount) a statikus fájlokat. Emellett a Resource típusát és a resource-ban elhelyezett ZIP fájl nevét kell megadnunk.

[WebStaticResourcePack(“jquery”, typeof(StatRes), “examples”)]

A fenti példa a jquery könyvtárban “helyezi el” a StatRes resource fájlunk examples.zip tartalmát. Például ha a böngésző vagy valamely JS script el akarja érni a http://srv.hu/jquery/styles/default/all.css fájlt, akkor a ZIP fájlban lévő /styles/default/all.css fájl kerül kiszolgálásra.

 

A fenti megoldás – a belső gyorsítótáraknak hála – 8-20ms-os válaszidővel működik, közvetlenül a memóriából szolgálja ki a kéréseket, a többszálas (thread) mechanizmust kihasználva. (A fenti idő vetekszik a célirányos Linux/IIS szerverek válaszidejével).

Fontos megjegyzeni, hogy a ZIP fájlban történt módosítás a SyX újrafordításával kerül érvényesítésre, amely 2-5mp.

 

7. Statikus HTML elemek használata

posted in: SaaS és Intranet (Tags: , , , , ) - No Comments

Az Intranet portálok mindegyike tartalmaz több statikus webes elemet. Ilyenek például a konstans képek (cornet.jpg) illetve a javascript függvénytárak (jQuery.js). Az Intranet portál kiszolgálója a Symbol Ügyvitel rendszer, így a böngészők számára ezeket a fájlokat is innen kell tudni kiszolgálni.

 

Hagyományos megoldás

A hagyományos megoldás az lenne, ha a fájlok mindegyikéhez létrehozunk egy megfelelő nevű metódust. Például a jQuery.js fájlhoz a jQuery_js() metódust kellene definiálni. A hagyományos megoldás az alábbi problémákat veti fel:

  • Nehézkesen bővíthető a fájlok listája
  • Elnevezési konvenciók szem előtt tartása problémát okozhat
  • Nem lehet alkönyvtárakban elhelyezni a fájlokat (/images/main.jpg, /js/jQuery.js)

 

Statikus erőforrás megoldás

A statikus fájlok elhelyezésének módja .NET Resource fájl(ok) létrehozása. Az ott tárolt fájlok kiszolgálását megkönnyítendő a rendszer tartalmazza a WebStaticResourceAttribute attrubútumot. Ennek használatával egy meglévő Resource fájlt felfűzhetünk a paraméterként megadott könyvtárba.

[WebStaticResourceAttribute(“/resources/images“, typeof(Images))]

A fenti példa az Images statikus erőforrás osztály elemeit elérhetővé teszi a /resources/images könyvtár alatt. Ha az Images erőforrás tartalmaz egy main.jpg nevű fájlt (kép vagy byte[]), úgy a localhost:port/resources/images/main.jpg URL meghívásával az erőfárrásban tárolt fájl kiszolgálásra kerül. Az erőforrásban tárolt adatok kiszolgálása is több szálon folyik, nagy mennyiségű adat vagy nagy méretű kép esetén is megvalósul a párhuzamos, kiegyensúlyozott kiszolgálás.

 

Konklúzió

A webfejlesztők módszereihez igazodva, egy új kép- vagy javascript fájl FTP-re való feltöltése helyett ugyanennyi ráfordítással a fájlt el kell helyezni egy szabványos Resource fájlban. (A Resource fájlban való jelenlét a fájlról egy másolatot készít a Resource könyvtárban. A fájl másolatának szerkesztése vagy felülírása lehetőséget biztosít a fájl megváltoztatására az erőforrásban.)