Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben

Størrelse: px
Starte visningen fra side:

Download "Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben"

Transkript

1 GoogleAppEngine GoogleAppEnginesomplatform ClausMyglegaardVagnerogJacobvonEyben

2 Abstract CloudcomputingerenteknologidervinderfremidengenerelleITinfrastruktur. SocialemediersåsomLinkedIn,TwitterogFacebookharøgetbehovetfor distribueredeapplikationerogdatacentre. StorevirksomhedersomGoogleogAmazonharåbnetopforatudefrakommende kanbenyttederescloudcomputinginfrastruktur. RapportenfokuserepåudviklingafJavaapplikationerpåGoogleAppEngine. Ligeledesserdenpåomudviklingietcloudcomputingmiljøkræverenanden tilgangtilarkitekturen,setiforholdtiltraditionellehostedeapplikationer. Dererudvikletenonlinenetbutiksomdanneretpraktiskerfaringsgrundlagtil underbyggelseafvoreskonklusioner.ligeledeserderpådetteoretiskeplan, perspektiveretiforholdtilfølgendealternativer:amazonec2,stax,aptana CloudConnectogegenhosting. RapportenviserhvaddertekniskskaltilforatudvikleenapplikationpåGoogle AppEngine,beståendeafteknologistakken:Wicket,Spring,JPA. Ligeledesviserrapportenatcloudcomputingkræverenandentilgangsvinkeltil specieltpersisteringafdata. GoogleAppEngineerengratisognemplatformatstarteoppå.Platformen skalerernemtogervelegnettilapplikationstypermedspidsbelastningsperioder. Enrækkekritiskebegrænsningeromkringlagerpladsogenøvregrænsepå processeringstidforetrequest,gøratmanbørovervejealternativecloud computingimplementationer.

3 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret Indledning Motivation Formål Problemformulering Aspekter Forretningen Platformen Integration Baggrund CloudComputing GoogleAppEngine Prismodelogkvoter BigtableogGAEDatastore Udviklingogafviklingafwebapplikation KendtebegrænsningeriGAE GoogleAppEngineservices Case Valgafteknologier JPA Spring Wicket Caseerfaringer Prismodelogkvoter Administrationogovervågning Backup Portering Versionering Persisteringafdata Transaktionsstyring Adgangtilfilsystemet Fejlsøgning Unittest Sockethåndtering HTTP/HTTPS FTP Webservices AlternativertilGoogleAppEngine AmazonElasticComputerCloud Stax AptanaCloudConnect Egenhosting Opsummering Konklusion Litteraturliste Process AfClausMyglegaardVagnerogJacobvonEyben Side1af44

4 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret Indledning Googlelanceredei2008GoogleAppEngine(fremoverbetegnetGAE)oggjorde hermedplatformen,sommangeafderesegneapplikationerbyggerpå, tilgængeligforatandrekunneudnytteden. GAEgivermulighedforgratisatafviklewebapplikationerpåGooglesIT infrastrukturogdenvejigennemmulighedfornemtatskaleresinapplikationtil atkunnehåndteremangesamtidigebrugere. MedGAEtilbyderGoogledogikkebaregodeskaleringsmulighederfor webapplikationer,menenhelstøbtplatformsomskalhjælpeudviklernemed helelivscyklussenforenapplikation.manuploadersinkodetilgooglesom sørgerfor,atafvikleden,atopgradereplatformen,atviselogfiler,ogidethele tagetaltvedligeholdelsesomliggerudoverselveapplikationskoden. Dettebetyder,atmansomudviklerkankoncentreresigomdetatudvikleselve applikationenogikkeominstallation/opsætningafmiljøetdenskalafviklesi. Platformenunderstøttertoprogrammeringssprog.DetfortolkedesprogPython ogdetkompileredesprogjava.tilbeggesprogerderlavetetsoftware DevelopmentKitsomgørdetmuligt,atudviklesinapplikationlokaltfor efterfølgendeatuploadedentilgae.administrationafapplikationenforegår gennemenwebbaseretkonsol. IdennerapportvilviudelukkendefokuserepådendelafGAEderkanafvikle Javawebapplikationer.Viviludvikleenlillenetbutik,somvibenyttersomcase, tilatkommerundtomgaeplatformenogdenvejigennembesvare problemformuleringen. 1.1 Motivation MotivationenbagdetteprojektbyggerpåatundersøgeomGAEkunneværeen muligplatformforfremtidigeapplikationervimåtteudvikle. Hvismanvælgerselvattagesigafheleafviklingsplatformen,kandetvære omstændigtatfådeploy etenwebapplikation.derskalindkøbeshardware, opsættesnetværkoginstalleressoftwareogaltsammenskalløbende vedligeholdes. Etwebhoteludeibyen,medunderstøttelseafJava,erogsåenmulighed,som krævernogetmindreforatkommeigang,mendetvilaltidværeenløsningsom kosterogtypiskikkeskalerernemt. DaGAEløserovenståendeproblemervedgratisattilbydeafviklingafJava webapplikationerietnæstenvedligeholdelsesfritskalerbartmiljø,åbnerdet mulighedersomgørvejenfraidétilrealitetmegetkortere. 1.2 Formål Voresforhåbningogdetviønskeratundersøgeer,hvorvidtGAEkanværemed tilatdrivenyeideergennemafviklingafprototypersommåskeenddakunne udviklesigtilfærdigeapplikationerogstadigforblivepågaeplatformen. AfClausMyglegaardVagnerogJacobvonEyben Side2af44

5 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 VivilhaveafklaretomvimedGAEkanafvikleenapplikationudvikletsomvi ellersvillehavegjortdet,ietmiljømedfuldkontrol.oghvisikkedetkanladesig gøre,hvorstorebegrænsningernesåer. 1.3 Problemformulering MedudgangspunktiGAEsomplatformforenJavawebapplikationvilvi forklare/besvarefølgende: forklarehvilkeprincippermanskalbenytteforatafviklewebapplikationerpå GAE. sammenlignegaemedandrealternativerogudpegedevæsentligefordeleog ulemperiforholdtildisse. beskrivehvordandenunderliggendeimplementationafgaeindvirkerpå programmørensmuligheder. vurdererelevanteforholdomkringafviklingafprogrammerpågae,såsom skalerbarhed,robusthed,sikkerhedogportabilitet. forklarehvordanenjavawebapplikationkanmigreresfragaetiletandet servermiljøinklusivapplikationsdata. 1.4 Aspekter EnvurderingafenplatformsomGAEkansesfraforskelligesider. Viharvalgtatopdelebelysningeni3kategorier: Figur1:AspektersomvivilbrugeianalysenafGAE. Tilhverkategoriharvivalgtenrækkerelevanteaspekterdererværdattagei betragtningnårenplatformskalanalyseres Forretningen Setfraetforretningsmæssigtsynspunkterfølgendeaspekterinteressante. Prismodel HvilkenprismodeltilbyderGAE? Administrationogovervågning Erderhjælptiladministrationafapplikationen? Portering AfClausMyglegaardVagnerogJacobvonEyben Side3af44

6 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 Hvilkeudfordringererderiforbindelsemedatportereenapplikation vækfragaeplatformen? Backup Erderdatasikkerhed? Platformen Kiggervipåselveplatformenerderrenttekniskenrækkeinteressanteaspekter derbørkiggespå. Persisteringafdata Hvilkemulighedererderforatfåpersisteretdataoghvordanlaverman forespørgslermoddepersisterededata? Transaktionsstyring Hvilkemulighedererderforatstyretransaktioner? Adgangtilfilsystemet Erdetmuligtatskriveoglæsetilogfrafilsystemet? Fejlsøgning KanmanprofileogdebuggeenGAEdeployetapplikation? Unittest Hvadermulighederneforatafvikleunittest? Versionering Hvilkekraverdertilreleaseafnyeversioner? Integration HerservipåmulighederneforatkommunikeretilogfraenGAEhostet applikation. Sockethåndtering Hvorvidtderkanlavesdirektesocketforbindelsertilogfra applikationen? HTTP/HTTPS HvilkemulighederharmanforatforetageGETogPOSTforbindelserbåde medogudenbrugafssl? FTP ErdetmuligtatbenytteFTPprotokollen? Webservices Kanderforetageswebservicekaldtilogfraapplikationen? 2 Baggrund Ifølgendeafsnitvilvibeskrivehvadcloudcomputingteknologienerogkomme nærmereindpåhvadgaeplatformenbeståraf. 2.1 CloudComputing MedGAEmelderGooglesigpåbanenblandtudbydereafdetsåkaldteCloud Computing.Idetfølgendevilvigiveenkortindsigtihvaddererkarakteristisk vedcloudcomputingogenredegørelsefortermertypiskbrugtomkringemnet. CloudComputing(CC)handleromatfåleveretnogleservicesfraenleverandør overinternettet.detkanværebådeinfrastrukturogsoftware. AfClausMyglegaardVagnerogJacobvonEyben Side4af44

7 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 FølgendeerkarakteristiskforCC(Reese, 2009): Elastisk MedCCskalmanhurtigtkunnefåstilletekstraressourcertilrådighedog ligeledesfrigøreressourcersomikkelængereernødvendige. Udgifter PrisenforCCafregnesefterforbrug.Detgiverenlangtmindreudgifttil indkøbafhardware.nogleafdisseudgifterrykkesdogoveriden efterfølgendeoperationelledelogudgiftenvilafhængeafhvilkenformfor CCderbenyttes.LidtsenerevilvikommeindpåprismodellernefordeCC platformeviharvalgtattageibetragtning. Klienter Enapplikationskalkunnetilgåsuafhængigtaflokalitet.Detvilsige,at manmedenbrowsermedeninternetforbindelseskalkunnenå applikationenoveraltiverden. Pålidelighed Pålidelighedvilværestørreiogmedatmantypiskharredundante lokationermedserveresomallebidragertildensamme cloud. Skalerbarhed SkalerbarhedernogetmansombrugernemtskalkunneskruepåietCC miljø.detkunneentenskeautomatiskellergennemetwebinterfacehvor manefterbehovkanskrueopforressourcer.dettekanværemeget anvendeligtforapplikationersomsvingermegetiantalletafsamtidige brugere. IforbindelsemedCCbliverderoftenævntfleretyperafservices: InfrastrutureasaService IaaS PlatformasaService PaaS SoftwareasaService SaaS AfClausMyglegaardVagnerogJacobvonEyben Side5af44

8 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 Følgendefigurviserhvordandisseformeroverlapperhinanden: Figur2:ViserhvordanIaaS,PaasogSaaSoverlapperhinanden. IaaShenvendersigprimærttilnetværksarkitekterogerleverancenafIT infrastruktur.detteskeroftegennemenvirtualiseringsteknologi.manfåraltså ikkeandetendcomputerestillettilrådighedogmanskalselvsørgefor installationafsoftware.nogleudbyderehardoglavetværktøjersomletterdette. Mereunderafsnit4.2. PaaShenvendersigtilapplikationsudviklereogerleverancenafenhelplatform medapi ertilatudvikleapplikationerpå.manhartypiskmindrefleksibilitetend vediaasdamanerunderlagtenprædefineretplatform.derimodkanman udelukkendekoncentreresigomatudviklesinapplikation.gaeerenpaas. SaaShenvendersigtilslutbrugerneogerleverancenafnogetsoftwaresomer hostetgennemcc.eksemplerpådetteergmailoggoogledocs. 2.2 GoogleAppEngine Vivilidetteafsnitbelyseplatformenudfradendokumentationderfindesom GoogleAppEngine.Detvilværedokumentationskrevetomselveplatformen ellerrelateredeemnersomf.eks.bigtable Prismodelogkvoter GAEersomtidligerenævntgratisatkommeigangmed.Googlehardogsatnogle kvoterpåforbrugsomdetkosteratoverskride.manskalaktivtslåtil,gennem administrationen,atmanforventeratskullebetaleforforbrugudoverkvoterne medsinaktuelleapplikation.detbetyder,atmanikkeligepludseligfåren regningfragooglefordimanharoverskrevetenkvote.harmanikkeaktiveret AfClausMyglegaardVagnerogJacobvonEyben Side6af44

9 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 betalingforapplikationenogmanoverskriderenkvotevilderopståenfejlsom viltagesigforskelligtudaltefterhvilkenkvotederoverskrides 1. OverordnetsetkanmanopdeleGAEkvoteri2kategorier: fakturerbarekvoter fastekvoter Defakturerbarekvoterkanforøgesgennembetalinghvorimoddefastekvoter ikkekan,dadeermedtilatsikreatgae,somplatform,kanydeogskaleresom detloves. Enkvoteblivernulstilleténgangidøgnet. Fakturerbarekvoter Defakturerbarekvotererpålagtfølgenderessourcer: Båndbredde CPU Lagerplads E mail NårkvoternefordisseressourceroverskridesharGoogleenprismodelhvor manbetalerfordetmangåroverkvoten. Ressource Kvote Prispr.enhed Enhed Udgåendebåndbredde 1 $0,12 Gigabyte Indgåendebåndbredde 1 $0,10 Gigabyte CPUtid 6,5 $0,10 CPUtimer Lagerplads 1 $0,15 Gigabyteommåneden Sendtee mails 2000 $0,0001 Modtager Tabel1:Kvoterogpriserpåforbrugudoverkvoterne 2 anno12/2009. Mådenhvorpåmanadministrereomkostningerneer,atmanopsætteret dagsbudgetforhvadensapplikationmåbrugeafpenge.gårensapplikationud overkvoternefortilsidstatrammeomkostningsgrænsenvildersomtidligere nævntreturneresenfejlfraapplikationen. Googleharydermerelaveten pr.minutkvote forbådefakturerbaresomikke fakturerbarekvoter.dennekvotesikreapplikationenmodikkeatforbrugeen kvotemegethurtigthvisf.eks.enandenapplikationkørerrovdriftpåenspecifik ressource.eksempelvisfordenindgåendebåndbreddehvorkvotenpr.dager1 gigabyte,såmådermaksimaltkomme56megabyteiminuttet. Fastekvoter Dererressourcer/servicessomGoogleikketilladeratmanbarekøbermereaf. DeenkelteGAEservicessomvibeskriversenerevilallehaveetsætaffaste 1Enmeredetaljeretbeskrivelseafhvilkenfejlsomkommerhvornårerbeskrevether: 2Priseroplystgennemhttp://code.google.com/appengine/docs/billing.html AfClausMyglegaardVagnerogJacobvonEyben Side7af44

10 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 kvotertilknyttet 3.BortsetfraMailservicenhardeandreserviceskvoteraltefter omdeterenbetalendeapplikation. Vivurdereratmangeafdefastekvotererhøjeogvilideflestetilfældevære tilstrækkeligeihvertfaldhvismanharopsatbetalingforsinapplikation.idet øjeblikmanopsætterbetalingøgesdissefasterkvoter.foreksempelkanen gratisapplikationmodtage1,3millionforespørgsleromdagenhvorimoden betalendeapplikationkanmodtage43millioner.kvoterneergenereltmeget højereforbetalendeapplikationer,menmankommerdogogsålangtmedet maksimumpå1,3millionforespørgsleromdagen. Derkanværeforskelligeårsagertil,atmanikkekankøbesigtilmere,meni bundoggrundmådetbyggepå,atgaesomplatformsætternogleydrerammer foralleapplikationernesomermedtilatsikreydeevne,stabilitetog skalerbarhedforheleplatformen BigtableogGAEDatastore BigTable(Fay Chang, 2006)erenproprietærdatabaseudvikletafGoogle.Google benytterselvbigtabletilenrækkeafderesegneapplikationersomf.eks: YouTube,GoogleMaps,GoogleEarthogblogger.com. Databasetype GoogleharunderudviklingenafBigTablehaftfokuspåatdistribueredataud overenlangrækkefysiskemaskiner. DetharværetmedtilatBigTableikkeerenrelationeldatabasesomkendesfra f.eks.oracle,ms SqlogMySql.Dvs.dererikkeernogettraditioneltdatabase skema. Istedeterdataorganiserethierarkisk.Entiteteridatabasengrupperesi træstrukturerhvorhverentiteterennodeiettræ.entræstrukturbetegnessom enentitygroup,hvordenøversteentitetbetegnessomtræetsroot entity. ForskellenimellemBigTableogentraditionelrelationeldatabasekanudtrykkes igennemfølgendelilleeksempel: Ienrelationeldatabasemodelleresforholdetmellemenbogogetkapitelveden en til mangerelation,hvorimoddetibigtablemodeleresvedatenboger forældreentitetentiletkapitelienhierarkiskstruktur. Denmanglendeskemadefinitiongøratconstraintskunkanadministreresi applikationslaget.denneformforløstskemabetegnessoftscheme.etframework somf.eks.javapersistinceapi(jpa) somviharvalgtatbenytteivorescase kanhjælpemedtilathåndteredetteigennemdetsrelationsannoteringer. 3Enoversigtoverallekvoternekanlæsesher: AfClausMyglegaardVagnerogJacobvonEyben Side8af44

11 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 EntityGroup EntiteterbetegnessomværendeisammeEntityGrouphvisdetilhørersamme root entity.heltkonkretvildetsigeatderesnøgleerprefix etdetsamme. Eksemplerpånøglerkansesher: butik(1)/customer("003307f4-bc60-483c-b87d-ddc5738cdbc0") butik(1)/customer("42dba cbe-9ec3-b8707ba7de58") Kodeeksempel1:TonøglerforCustomerentiteterderbeggefigurererunderdensammeroot entityderhedder butik(1). Transaktionshåndtering BigTableindeholderikkeisigselvtransaktionsstyring,mendennesupporter byggetindidetpersistenslagderbenyttespågae somerenudvidelseaf BigTable.ViharvalgtatbetegnepersistenslagetGAEDatastore,mendereri skrivendestundikkemeldtnogetofficieltnavnudfragooglesside.detrygtesat navnetpådettedatastorebetegnesmegastore 4. TransaktionsstyringiGoogleDatastore,kankunforetagesindenforentiteteri sammeentitygroup. QueryLanguage ForespørgslerimodBigTabledatabasenskerigennemGooglesegetquerysprog GQL(GoogleQueryLanguage).GQLerisyntaksmegetligSQLsomkendesfra relationelledatabaser. BigTableharfrastarthaftfokuspåhastighedvedforespørgslerogharderfor committetsigtilatforespørgslerskalererlinærtiforholdtilresultatsættet(ross, 2009).DethargjortatderendnuikkeersupportforjoinsiBigTable,daGoogle ikkeharløstproblemstillingen,atundgåatlaveetkrydsproduktvedjoinafto ellerfleretabeller(ross, 2009) Udviklingogafviklingafwebapplikation GAEplatformenharsupportforkodekompileretmedJava5eller6. ForatkunneafvikleenwebapplikationpåGAEplatformenskalderbenytteset GAESoftwareDevelopmentKit(SDK)dergratiskandownloadesfraGoogle. DeterigennemdenneSDK,atapplikationeruploadestilGAEplatformen. GAESDK etgørdetogsåmuligtatafvikleenapplikationlokaltigennemen stubbetgaeplatform.unittestafklasser,samtdownloadingaflogfilerskerogså igennemdettesdk. MedGAESDK enfølgeretant 5 script,dergørdetnemtatkompilereoguploade applikationertilgaeplatformen.ivoresudviklingharvidogvalgtprimærtat 4IfølgedenneblogkandetværeMegaStorederbenyttes: 5Anteretxmlscriptingsprog,derividudstrækningbrugestilkompileringogautomatisktestaf kode AfClausMyglegaardVagnerogJacobvonEyben Side9af44

12 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 brugeetpluginudvikletafjetbrains 6,derpasserspecifikttilIntellijIDEA,somer denide(udviklingsmiljø)viharvalgtatbenytteunderudviklingenafvorescase. ForatafvikleenwebapplikationpåGAEplatformenskalapplikationen udover densædvanligeweb.xmlfil,ogsåindeholdeenspecielappengine web.xml. Denneappengine web.xmlindeholderspecifikkegaeparametre.deterf.eks. versionenafdensoftwarederuploades,miljøvariablebrugtiapplikationenog omapplikationenunderstøtterssl.indholdetafdenneappengine web.xmlfil fortolkesafgaeplaformennårapplikationenuploades KendtebegrænsningeriGAE ApplikationerpåGAEplatformenhostesiensandbox,forståetpådenmådeaten rækkespecifikkejavaapi erikkekanbenyttespågae.mådengaeharvalgtat implementeredettepåervedatarbejdemedetmodificeretjavaruntime Environment(JRE).DetteJREindeholderenwhitelist 7 afalledeklasserfrajava DevelopmentKit et(jdk)somkanbrugesunderafviklingenafetprogram. PådennemådeharGAEforhindretfølgendeoperationerderallevillebinde afviklingenafenwebapplikationtilenspecifikfysiskmaskineogdermed besværliggøredistribuering: Ingenadgangtilfilsystemet o Skriveoglæsetildiskbinderafviklingentildenfysiskemaskine Ingenoprettelseaftråde o Implementationenafhvorledestrådeafviklesbindersigkraftigttil enspecifikjvm,somigenknyttersigtildenmaskineapplikationen afviklespå. Ingendirektesocketadgang o Direktesocketadgangerento vejskommunikationimellemto netværksadresserogdetviligenbindeapplikationentilenspecifik maskineitidsrummethvordennesocketeråben. VedatforhindreadgangentildissenævntetingbevarerGooglekontrollenover hvordeønskeratafvikleapplikationen. DerernogleandrevæsentligebegrænsningerforapplikationenpåGAE.En forespørgseltilapplikationkanmaksimaltkørei30sekunderhvilketbetyderat hvismanharstoredatamængderellerlaverandentungprocesseringvildenne begrænsningværeenhindring. Ydermeremåetsvarfraapplikationenikkeoverstige10MBoghverenkelt datastoreentitysomgemmeskanikkefyldemereend1mb.1mbgrænsenkan hurtigtbliveoverstegethvismanvilgemmebilleder,pdffileroglign. 6FirmaetbagIDE enintellijidea 7http://code.google.com/appengine/docs/java/jrewhitelist.html AfClausMyglegaardVagnerogJacobvonEyben Side10af44

13 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 Kvote Maksimum App.pr.udvikler 10 Tidpr.forespørgsel 30sekunder Filerpr.app httpsvarstørrelse 10MB Entitetstørrelse 1MB Kodestørrelsepr.app. 150MB Tabel2:TabelovernoglefastebegrænsningermedGAE GoogleAppEngineservices GAEtilbyderenrækkeservices,somensapplikationerfritkanbenytte,mensom ogsåermedtilatimødekommeenrækkeafdebegrænsningerderfindespågae platformen.vivilhergennemgådeforskelligeservices. Cronjobs Atmanikkekanoprettetrådegørdetumiddelbartumuligtatforetage asynkroneoperationer.foratimødekommedetteproblem,hargaeudstilletet proprietærtapitilnetopathåndterecronoperationer 8.IgennemdetteAPIer detmuligtatschedulereretjobtilatblivekørtpåfastlagtetidspunkter.deter specieltnyttigtnårf.eks.etopensourceapisomquartz 9 ikkeunderstøttes. TaskQueue IgennemdetteAPIerdetmuligtlæggeopgaverienkø,hvorfradesåvilblive udført.detteapieriskrivendestundstadigunderudviklingogbetegnesderfor ikkestabilt. URLFetching Detersomsagtikkemuligtatoprettedirektesocketstilandremaskinerpå forskelligeporte.mendetermuligtatbenyttejava.net.urlconnectionog relateredeklasser.deerimplementerettilatbenyttegae segenurlfetch 10 service,fornetopatforhindredendirektesocketforbindelse. DetteURLFetchAPIbenyttesogsåtilattilgåHTTPSadresser.DenGoogle specifikkeproxyderbenyttesunderhttp/httpsforbindelsergiverikke mulighedforatauthenticatedenhostderforbindestil.resultateter,atalle certifikateraccepteresinklusivself signedcertificater.dennemangelpå authenticationgørdetumuligtatforhindrehvadderiit terminologierbetegnes man in the middle 11 angreb.denneurlfetchservicegørdetkunmuligtat forbindetilport80og443,somerstandardporteforhttp/httpsforbindelser. Memcache MemcacheerencachederkanbrugespåGAEplatformen.Deterendistribueret 8http://code.google.com/appengine/docs/java/config/cron.html 9http://www.quartz scheduler.org/ 10http://code.google.com/appengine/docs/java/urlfetch/overview.html 11Enbetegnelsehvordereren3.partsomlyttermedpåendataudveksling: in the middle_attack AfClausMyglegaardVagnerogJacobvonEyben Side11af44

14 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 hukommelsesbaseretcachesomkanbrugesforandatastore etellerhelterstatte detafhængigtafapplikationen. MemcacheerenimplementationafenJavastandard 12 somgiveretinterfaceder svarertildatastrukturenforetjavamap.detvilsige,atmangennemennøgle kanhenteoggemmeværdierforalleklassersomerserializable. Mail MedGAEplatformenharmanmulighedforatsendeogmodtagee mails. InterfaceterJavaMail(javax.mail).DererikkebehovforatkonfigurereenSMTP server,dadetergivetgennemimplementationenafmailservicen. Nårenapplikationskalmodtageene mailskerdetgennemenforespørgsel initieretafplatformentilapplikation,somsåskalhaveimplementeretnoget kodetilattageimoddisse,somf.eks.enservlet. XMPP EnGAEapplikationkansendeogmodtagechatbeskedertilogfraenhver XMPP 13 kompatibelservice.dettekunneværegoogletalk.indkommende beskederbliverlavetomtilenhttppostmodenbestemturlsomapplikationen kanlaveenservlettilattageimod. Billeder Udviklermanenapplikationsomkræverbilledbehandling,erdettemuligtpå GAE.Derfindesenbilledeservicesomkanhjælpemedf.eks.atskalere,rotere ellerbeskæreetbillede. Mankanogsåsætteflerebilledersammenogkonverteremellemforskellige formater.servicenharenalgoritmesomkanværemedtilatforbedrekvaliteten afbilleder.harmanbehovformetainformationombilledet,såsomhøjdeog breddekandetteogsåladesiggøre. GoogleAccounts EnhverapplikationpåGAEkanbrugeGoogleAccountssomlogin.Viharivores casevalgtatgøredette.nårmanskalloggeindblivermansendtvideretilen loginsidesomikkedirekteerendelafensapplikation.detteskalmanvære opmærksompåmht.applikationsdesignet,dadennesidefølgergooglesstandard logindesign. Nårenbrugererloggetinderderadgangtilmailadressen.Ermanudviklerpåen applikationvilmanværemarkeretsomadministrator.denneadministrator informationerogsåtilgængeligforapplikationenefterbrugerenerloggetind. GoogleAccountsservicenerikkenødvendigatbruge,meneretalternativtilselv atskriveenbrugerhåndtering. 12JSR107(javax.cache) 13ExtensibleMessagingandPresenceProtocol AfClausMyglegaardVagnerogJacobvonEyben Side12af44

15 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret Case Dererblevetudvikletenbutikmedbegrænsetfunktionalitetforståetpåden mådeatfokuserrettetmodateksercereapplikationensåledes,atvifårbelystde deleafgaedetkræverforatbesvareproblemformuleringensåfyldestgørende sommuligt. Casenertilgængeligpåfølgendeurl: Netbutikkenvilbeståaftobrugergrænseflader. Admininistrationsgrænseflade Enadministrationsgrænseflade,hvordetermuligtatopretteprodukterderkan sælgesibutikken. Dennegrænsefladevilkræveautorisationforatfåadgangtil. Dererlavetenfiktivordrebehandlerdermedjævnemellemrumvilsøgealle ikkebehandledeordreigennemogbehandledem.ipraksisvildetikkesige andetendatmarkererdemsombehandlet. Offentliggrænseflade Ensidehvorallekanvælgeiblandtdeprodukterderkankøbesibutikken. Dervilværemulighedforatfyldevarerien'indkøbskurv'. ForatgennemføreetkøbskalbrugerenloggeindviaenGoogleAccount.Første gangenbrugerkøbeributikkenskalvedkommendeindtastenogle brugerspecifikkeoplysninger dissevilblivegemttilfremtidigekøb. Selvebetalingenvilbliveudeladtdavibegrænserosfraatintegreremedsikker internetbetaling. Detvilogsåværemuligtatseenlisteoverhistoriskeordre. Følgendefigurviseretkøbs flowibutikken: Figur3:Diagramderviserhvorledesenordregennemføres. AfClausMyglegaardVagnerogJacobvonEyben Side13af44

16 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret Valgafteknologier Ivoresvalgafteknologiertiludviklingafcasen,harvilagtvægtpåatbenytte teknologiervivederanerkendteiopensourcemiljøetogsamtidigvilvære seriøsekandidaternårder,ienvirksomhed,skalvælgesteknologiidag. Derudoverharvilagtvægtpåatdeterteknologiervierbekendtmedfravores hverdagsomprofessionellesoftwareudviklere JPA JavaPersistenceAPI(JPA)eretpersistensAPIudvikletafSun. Dennetypeframework ogsåbetegnetobject Relational Mapping(ORM)API gørdetmuligtatmappejavaobjektertilrelationelledatabaser. Normaltnårmanmapperjavaobjekterimodrelationelledatabaserkanman vælgeimellemenrækkeforskelligeimplementationerafjpa,mendagoogle DatastoresomnævntikkeerenrelationeldatabaseerdetkunDatanucleus 14 der endnuharenimplementationafjpaopimodgoogledatastore.datanucleuser implementeretvedatdenskalpostprocessererdenkompileredebytekodefor dejpaannoteredeklasser,indendekanafviklespågae. ForespørgsleriJPAskerigennemJPQL(JavaPersistenceQueryLanguage). DatanucleusimplementationenafJPAsørgerforatoversættedetteJPQLtilGQL somerforespørgselssprogetimodgoogledatastore. Etalternativtvalghavdeværetdetandetpersisteringsframeworkunderstøttet pågaejavadataobjects(jdo).jdotagerikkeudgangspunktienrelationel datastruktur,menerenmeregenerelabstraktionoverpersisteretdata. ViharvalgtatholdefastiJPA,davigernevilleprøveatudvikleenapplikationtil GAE,somviellersvillehavegjortdet,hvorvinormaltvillevælgeJPA Spring Springeretframeworkderharvundetfremisoftwareindustrienikølvandetpå detopgørderharværetmedde tunge EJB2containererogJ2EE.Springbliver afmangebetegnetsomen"lightweightcontainer.enletvægtscontainerder håndtererenrækkecrosscutting concernssåsomf.eks.transaktioner,loggingog authentication/autorization desammetingejb2containerevaretog nubare udenatstillekravomatkodenafviklesietspecifiktcontainermiljø. DerudovertilbyderSpringogsåbegrebetDependencyInjection.Kortfortalt,er dependendcyinjectionenformforinversionofcontrol,hvormådenhvorpåen afhængighedfraenklassetilenandenikkelængereopfyldesvedopslag,men istedet gives (injectes)indviaentenset ermetoderellersomparametretil konstruktørenforjavaklassen.hervedlavesderenløskobling,dadeninject ede klasseførstafgørespåruntimetidspunktet Wicket DerfindeenlangrækkeforskelligewebframeworkspåJavaplatformen.Enstor delafdemestbenyttedeopensourceframeworksderidagbenyttesiindustrien, 14DatanucleuseretJPA1.0kombatibeltframeworktilprocesseringafjavaklasser mappesnedtilbigtabletabeller AfClausMyglegaardVagnerogJacobvonEyben Side14af44

17 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 erhostethoswww.apache.org.viharvalgtatbenyttewicketdaviharerfaring meddettefratidligere. KortfortalterWicketetkomponentbaseretwebframeworkdergiverenren opdelingimellempræsentationslagetogdetlogiskelag. 3.2 Caseerfaringer Udviklingenafdensimplenetbutikviharstilletopsomcase,hargivetenrække erfaringersomviharvalgtatbeskriveienopdelingdersvaretildeaspektervi vilbelysevedgaeplatformen Prismodelogkvoter Prismodellerogkvotererberørtiafsnit2.2.1.Vierivorescaseikkekommet yderligereindpådetteemne. AfClausMyglegaardVagnerogJacobvonEyben Side15af44

18 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret Administrationogovervågning GAEkommermedenadministrationskonsolsomstillerforskelligefunktionertil rådighedsomgøradministrationogovervågningnemmere. Administration Billede1:ScreenshotafDashboardfraGAEadministrationskonsollen Viharigennemudviklingenafvorescaseværettopersonersomhverisærhar kunnelæggenyeversionerafapplikationenoppågae.denneadministrationaf hvemsomerudviklerpåapplikationenereteksempelpåhvadmankanstyrefra konsollen.nårdererfrigivetennyversionvildetteogsåfremgåunder Versions skærmbilledethvormanogsåharmulighedforatskifteversionen. LigeledesbliverderogsåvedligeholdtenAdminLogsomviserhvilkenudvikler somhargjorthvad,somf.eks.athavelagtennyversionpå. ManharogsåmulighedforattilgåDatastore etoglaveforespørgsler,menogså opretteogredigeredatastoreentiteter. AfClausMyglegaardVagnerogJacobvonEyben Side16af44

19 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 AfClausMyglegaardVagnerogJacobvonEyben Side17af44 Overvågning GAEovervågningstarterpåforsidenafkonsollen.Herharmanmulighedforatfå diversegraferoverf.eks.forespørgslerpr.sekund,menogsåhvormangegange applikationenharreturneretenfejlpågrundafatenkvoteeroverskredet. MankansehvilkenURIsomindenfordesidste24timerhargenereretflestfejl ogderleveresetøjebliksbilledeafbelastningenpåapplikationen,samthvadder bliverbrugtafcputidfordeforskelligeuris. Dererogsåadgangtillogfiler,somkanpålæggesfiltre.Viharfleregangehaft behovforattilgådisselogfilergennemudviklingenafcasennårviharoplevet problemerpågae,somviikkegjordelokalt. Overvågningengiverselvfølgeligogsåetfuldstændigtoverblikoverforbrugi forholdtilkvoterneforapplikationen Backup DerfindesingenværktøjerellerhjælptilatforetagebackupafdatapåGAE platformen,såbackupermanselvansvarligfor.dadetkunerdenenkelte applikationderkantilgådetgoogledatastoredererallokerettilapplikationen, skalenegenudvikletbackupprocedureogsåkørepåplatformen.skaldette styresafencronmekaniskeskalbackupkunneinitieresafeturlkald Portering Vivilherkommeindpåhvilkemulighederdererforatportereenapplikationtil ogfragae. Porteringafdata Ligesomforbackupafdata,findesderingenværktøjerderkanhjælpemed dette. Deterderforoptilapplikationsudviklerneselvatsørgeforatskriveden nødvendigekodedergørdettemuligt.eksportenskalværemuligatforetage igennemetalmindeligthttprequest,forsomvikommernærmereindpåer detteenesteintegrationsmulighed. Nårdennesoftwareskriveserdetvigtigtatværeopmærksompåbegrænsningen forhvorlængeetrequestertilladtatkørepågae,samtbegrænsningenpå10mb forresultatetpåenforespørgsel(seafsnit2.2.4),dadetkanværeenhindringfor atskrivestørrebatchoperationertileksportafdata. Detmestsandsynligevilleværeatmanerinteresseretiateksporteretilen relationeldatabase.detvillederforværenaturligtatforsøgeateksporteredata direktetilsqlinsertstatements.dadataigoogledatastoreergemthierarkiskog ikkeharetschematilatsikredatakonsistens,såkanopgavenhurtigtvisesig ikkeatværetriviel.ligeledesskalbinærtdataenteneksporteresseparateller base64encode sforatværemuligtateksporterersomtekst. Vedeksporteringtilenrelationeldatabasevilledetværenaturligtfremoverat gørebrugafenrelationeldatabasesmulighederforatgenererid erautomatisk. IdkonverteringfraGoogle skeyformat,derrepræsentererenhierarkisk struktur,tilintegerbaseretid,erderforhellerikkehelttriviel.

20 GoogleAppEnginesomplatform Vejleder:ArneJohnGlenstrup IT Universitet,Efteråret2009 Ateksportererdirektetilsqlinsertstatementsermåskeikkedenoptimale løsning.eneksporttilf.eks.xmlellerjsonkanogsåværeenløsning,daman derigennemikkeharlagtsigfastpåetdestinationsformat.omvendtskalder skrivesenparserimodtagerenden,derkanforståudvekslingsformatet. Porteringafapplikationen Somudviklerbindermanuundgåeligtapplikationenoppåenrækkeproprietære API er,derskaltagesibetragtningvedmigreringafenapplikation.detværesig tilsigtetsomnårvif.eks.vælgeratgørebrugafgoogleaccountlogin,menogså utilsigtet,nårvi tvinges tilatbrugekeyfactoryogkeyobjektetsomnøglefor ensentiteter,ibestræbelsenpåatsikretransaktionsstyringpåtværsafalle entiteter(seafsnit3.2.7). HvortætbundetenapplikationerpåGoogleAPI erermegetindividuel,men voreserfaringfortælleratjolængereenapplikationhareksisteretpåengiven platform,jostørreersandsynlighedenforatdererdeleafapplikationender benytterproprietæreapi er. DetypiskeeksemplereratenapplikationbenytterdatabasespecifikkeSQL statements,ellercontainerspecifikkej2eefeatures. Vierderforoverbevistom,athvismanikkedesignermedenfremtidigmigrering itankernefrastart,vilapplikationenpåsigtblivetætbundettilplatformen, hvorforenporteringikkevilværetriviel. ViharkonkretkiggetpåhvormegetvorescaseharbenyttetproprietæreAPI er ogkanse,atviharbundetapplikationeniforbindelsemedfølgende: IdgenereringerbundettilKeyFactoryogKeyklasserne. GoogleAccountloginsomnøgletilkundedata,samttilbeskyttelseaf administrativesider(kræveradministrationsrettigheder) UnittestsætteretspecieltGAEmiljøop. VibenytterGoogleCron.Vedenmigreringvilviskulleimplementereen lignendefunktionalitetpådennyeplatform. VoresperfomancemålingerbenytterGoogle sdelegateapi Versionering IadministrationsværktøjetderstillestilrådighedpåGAEplatformenerdetnemt atstyrehvilkenversionafenapplikationderskalværetilgængeligpådomænet. Opgraderingafselvesoftware enerderforennemoperation.ennyversion skrivesindiappengine web.xmlognårapplikationeneruploadettilgae platformen,kandennyeversionvælgesfraadministrationskonsollen. Anderledesforholderdetsigforselvedatagrundlaget. Nårenapplikationstadigerunderudviklingogendnuikkeoffentliggjort,er datagrundlagetofteikkeetessentieltproblem.detersandsynligvisiordenat manfratidtilandensletteraltdataforigenatindlæsetestdata. Nårenapplikationertagetibrugerdatakerneniapplikationenogdatabliver pludseligtetcentraltbegrebvedreleaseafnyeversioner.detersandsynligtat ennyversionafapplikationenpåettidspunktbærernyedatastrukturermedsig. AfClausMyglegaardVagnerogJacobvonEyben Side18af44

OIOSAML.NET og Umbraco. ved Thomas Ravnholt ravnholt @ silverbullet.dk

OIOSAML.NET og Umbraco. ved Thomas Ravnholt ravnholt @ silverbullet.dk OIOSAML.NET og Umbraco ved Thomas Ravnholt ravnholt @ silverbullet.dk Silverbullet, stiftet 2003 Silverbullet A/S IT- rådgivning, projektledelse og implementering Officiel SKI-leverandør Kontorer i Århus

Læs mere

Indhold. Senest opdateret:03. september 2013. Side 1 af 8

Indhold. Senest opdateret:03. september 2013. Side 1 af 8 Indhold Introduktion... 2 Scenarier hvor API et kan benyttes... 2 Scenarie 1 Integration til lagerhotel... 2 Scenarie 2 Integration til økonomi system... 2 API Modeller... 2 Webshop2 API Model v1... 3

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Indhold. Senest opdateret : 30. juli 2010. Side 1 af 5

Indhold. Senest opdateret : 30. juli 2010. Side 1 af 5 Indhold Introduktion... 2 Scenarier hvor API et kan benyttes... 2 Scenarie 1 Integration til lagerhotel... 2 Scenarie 2 Integration til økonomi system... 2 Webshop2 API Model... 3 Brugen af API et... 4

Læs mere

RMI med BlueJ. Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007

RMI med BlueJ. Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007 RMI med BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007 Hvad er RMI? Når man arbejder med Distribuerede Systemer, som igen vil sige at man ønsker at flere end én komputer

Læs mere

Fra idé til virkelig med Azure Mobile Services

Fra idé til virkelig med Azure Mobile Services Fra idé til virkelig med Azure Mobile Services Niels Ladegaard Beck Holion nlb@holion.dk @nielslbeck Windows Developers in Denmark Azure App Service Mobile App Introduktion til Azure Mobile Services Platform

Læs mere

Servlets, Tomcat & BlueJ

Servlets, Tomcat & BlueJ Servlets, Tomcat & BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 05.october 2007 Hvad er Servlets: For at forstå det, må vi først få styr på to begreber, nemlig statiske og dynamiske hjemmesider

Læs mere

4 sekunder. 20 sekunder. 1-3 timer. 14% hurtigere. 5-6% bagud. 30/70 split. Vejen til succes med Hybrid Cloud v/cso, Poul Bærentsen, Atea

4 sekunder. 20 sekunder. 1-3 timer. 14% hurtigere. 5-6% bagud. 30/70 split. Vejen til succes med Hybrid Cloud v/cso, Poul Bærentsen, Atea 4 sekunder 1-3 timer 20 sekunder 14% hurtigere 5-6% bagud 30/70 split Vejen til succes med Hybrid Cloud v/cso, Poul Bærentsen, Atea Emnerne jeg vil tale om Brændende platforme versus brændende ambitioner

Læs mere

EDH-dokumenter. - på eksterne hjemmesider der ikke hostes af C&B Systemer

EDH-dokumenter. - på eksterne hjemmesider der ikke hostes af C&B Systemer EDH-dokumenter - på eksterne hjemmesider der ikke hostes af C&B Systemer Opbygning EDH-dokumenter For at præsentere EDH dokumenter på en hjemmeside, skal der konstrueres et system til hjemmesiden, der

Læs mere

Integrated Total Facility Management for Real Estate, Infrastructure & Facility Management

Integrated Total Facility Management for Real Estate, Infrastructure & Facility Management Integrated Total Facility Management for Real Estate, Infrastructure & Facility Management Udfordringen Top down Lederskab visioner Buttom up Fakta om Informi GIS 90 medarbejdere Full-size IT hus; salg/rådgivning/

Læs mere

DOtAB. Teknisk rapport

DOtAB. Teknisk rapport DOtAB Teknisk rapport Indholdsfortegnelse Introduktion... 1 Systemarkitektur... 1 Teknologier... 1 Platforme for mobile enheder... 1 Kommunikations interfacet... 2 Udviklingsmiljø... 2 IDOtAB (service

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Microsoft IIS 6 Certifikat administration Følgende vejledning beskriver hvordan man installere et certifikat på en IIS 6 For support og hjælp til anvendelsen af denne vejledning kan du kontakte FairSSL

Læs mere

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net)

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Kim Harding Christensen EOS A/S Margrethepladsen 3 8000 Århus TLF: 8732 8787

Læs mere

HVORDAN VI DOWNLOADEDE INTERNETTET. Man skal crawle før man kan gå

HVORDAN VI DOWNLOADEDE INTERNETTET. Man skal crawle før man kan gå HVORDAN VI DOWNLOADEDE INTERNETTET Man skal crawle før man kan gå DAGSORDEN Hvem jeg er Behovet for en crawler Arkitektur Nutch og Hadoop MongoDB Udfordringer Tak for i dag JACOB AVLUND Partner i Siblingsoft

Læs mere

Model Drevet Design i Praksis

Model Drevet Design i Praksis Model Drevet Design i Praksis Dansk IT - På Vej Hjem møde d. 8/9-2009 Jeppe Cramon - TigerTeam ApS Lidt om mig 15 års erfaring som software udvikler Partner i TigerTeam Første erfaring med model drevet

Læs mere

Web- og serverprogrammering

Web- og serverprogrammering Web- og serverprogrammering Arkitekturer i webprogrammer - dag 6 Model-View-Controller-arkitukturen Flerlags-arkitekturer Læsning: WJSP 10 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Security as a Service hvorfor, hvornår og hvordan. Gorm Mandsberg, gma@dubex.dk Aarhus, 13.06.2013

Security as a Service hvorfor, hvornår og hvordan. Gorm Mandsberg, gma@dubex.dk Aarhus, 13.06.2013 Security as a Service hvorfor, hvornår og hvordan Gorm Mandsberg, gma@dubex.dk Aarhus, 13.06.2013 SecaaS hvorfor, hvornår og hvordan hvad Hvorfor.. Hvornår.. Hvordan.. Disclamer: Dubex er MSSP og leverer

Læs mere

ODIN-webservice ændringer release 2010 v2.0

ODIN-webservice ændringer release 2010 v2.0 DOKUMENTATION OG VEJLEDNING ODIN-webservice ændringer release 2010 v2.0 Indholdsfortegnelse 1. Nye webservice metoder... 2 1.1 Anvendelse af køretøjer og personel fra fremmede beredskaber ifm. indberetning

Læs mere

Copyright SaaS-it Consult 2011. Er Cloud Computing blot en hype eller repræsenterer det virkelig værdi? Teknologisk Institut 13.

Copyright SaaS-it Consult 2011. Er Cloud Computing blot en hype eller repræsenterer det virkelig værdi? Teknologisk Institut 13. Er Cloud Computing blot en hype eller repræsenterer det virkelig værdi? Teknologisk Institut 13. september, 2011 Cloud Computing & SaaS Hvor er vi på vej hen? Agenda Definitioner The SaaS-it Evolution

Læs mere

Udvikling af DOTNET applikationer til MicroStation i C#

Udvikling af DOTNET applikationer til MicroStation i C# Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt

Læs mere

IT-Basecamp 2013. Real World Java EE Patterns Adam Bien. Real World Java EE Patterns, Adam Bien Copyright Lund&Bendsen A/S

IT-Basecamp 2013. Real World Java EE Patterns Adam Bien. Real World Java EE Patterns, Adam Bien Copyright Lund&Bendsen A/S IT-Basecamp 2013 Real World Java EE Patterns Adam Bien 1 Indhold Lidt om mig Baggrund for valg af emnet Bogens opbygning Fra J2EE til JEE 5/6 Overflødiggjorte patterns Fremhæve et par patterns 2 Kenneth

Læs mere

Objektorienteret Programmering

Objektorienteret Programmering Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:

Læs mere

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation Plan 12.3. Oversigt over grundlæggende begreber Java: eksempel på applikation, programmering og oversættelse Uddybning af grundlæggende begreber Java RMI implementation Forklaring af øvelsen Hvad er et

Læs mere

Konference om Cloud Computing 18. maj 2011. Proof of Concept for transition til Cloud Lars Ravndrup Thomsen, Solutions Architect, KMD

Konference om Cloud Computing 18. maj 2011. Proof of Concept for transition til Cloud Lars Ravndrup Thomsen, Solutions Architect, KMD Konference om Cloud Computing 18. maj 2011 Proof of Concept for transition til Cloud Lars Ravndrup Thomsen, Solutions Architect, KMD POC, hvad er det? En søgning på internettet viser, at de fleste sites

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller

Læs mere

Søren Løbner (lobner) ddb Databaser 2007 10 10

Søren Løbner (lobner) ddb Databaser 2007 10 10 ddb Excercise Week 4 Fra relationships til relations Nu når vi har fået vores skemaer på plads, kan SQL udtrykkene til konstruktion af relationerne laves Det foregår ved at vi tager en 1 til 1 oversættelse

Læs mere

Software Projekt NoSQL vs RMDB

Software Projekt NoSQL vs RMDB Software Projekt NoSQL vs RMDB Skrevet af Carsten Sørensen, Hans Jørgen Frandsen, Peter Haislund Department of Computer Science, University of Aarhus Aabogade 34, 8200 Arhus N, Denmark 201200089, 19960442,

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Agenda. Muligheder for anvendelse. Komponenter. Features. Restore muligheder. DR og TSM integration. Repository. Demo. Spørgsmål

Agenda. Muligheder for anvendelse. Komponenter. Features. Restore muligheder. DR og TSM integration. Repository. Demo. Spørgsmål Agenda Muligheder for anvendelse Komponenter Features Restore muligheder DR og TSM integration Repository Demo Spørgsmål Muligheder for anvendelse Data Center dmsave/lokal TSM Remote Office Application

Læs mere

Hosted løsning... 3. Hosted produkter... 4. Dedikeret server hosting... 5. Virtuel server hosting... 6. Shared Office hosting... 7

Hosted løsning... 3. Hosted produkter... 4. Dedikeret server hosting... 5. Virtuel server hosting... 6. Shared Office hosting... 7 2011 Indhold Hosted løsning... 3 Hosted produkter... 4 Dedikeret server hosting... 5 Virtuel server hosting... 6 Shared Office hosting... 7 Exchange hosting... 8 Remote Backup... 9 Hosted løsning Hosting

Læs mere

19. Bilag. 19.1 Bilag 1: Referenceliste med kontaktoplysninger til virksomheder. Rapportens fire undersøgelsesenheder:

19. Bilag. 19.1 Bilag 1: Referenceliste med kontaktoplysninger til virksomheder. Rapportens fire undersøgelsesenheder: 19. Bilag 19.1 Bilag 1: Referenceliste med kontaktoplysninger til virksomheder Rapportens fire undersøgelsesenheder: 1. SøgeMedier Kontakt: Tobias Thaastrup-Leth, Projektchef Klamsagervej 21B, 8230 Åbyhøj

Læs mere

Cloud og it-sikkerhedsudfordringerne: Dansk Automationsselskab

Cloud og it-sikkerhedsudfordringerne: Dansk Automationsselskab Cloud og it-sikkerhedsudfordringerne: Dansk Automationsselskab Carsten Jørgensen 7 marts 2012 Carsten Jørgensen 1999 2001 2006 2009 2011 CloudSecurity.dk Falck 2012 Falck 2011 Emergency Assistance Healthcare

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

Læs mere

HYBRID TAKEOFF REDEFINED JOURNEY TO THE CLOUD BY EMC Søren Holm, Proact

HYBRID TAKEOFF REDEFINED JOURNEY TO THE CLOUD BY EMC Søren Holm, Proact HYBRID TAKEOFF REDEFINED JOURNEY TO THE CLOUD BY EMC Søren Holm, Proact More than 3500 projects In control of 55 petabyte data 450 certified consultants More than 1.5M euro in training per year 55 PB,

Læs mere

Cloud Computing De juridiske aspekter

Cloud Computing De juridiske aspekter Cloud Computing De juridiske aspekter Forskningsnet Konference 2010 Middelfart Advokat Nis Peter Dall Hvad er Cloud? IaaS (Infrastructure as a Service) - Computerkraft, lagerplads mv. stilles til rådighed

Læs mere

Object-Relational Mapping

Object-Relational Mapping Databaser for udviklere () Datamatiker TietgenSkolen Underviser: Allan Helboe 06-06-2010 Problemformulering Denne opgave er et forsøg på at beskrive problemerne der opstår ved anvendelsen af en relationel

Læs mere

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

Læs mere

Video Projector Controller. Brugermanual

Video Projector Controller. Brugermanual Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK WWW.WAHLBERG.DK l Video Projector Controller Brugermanual WWW.WAHLBERG.DK TELEPHONE +45 86 18 14 20 CELL PHONE +45 40 52 20 88 EMAIL: mads@wahlberg.dk Feb

Læs mere

Gode praksisser og arkitekturer i Android-programmering. Android - praksisser og arkitekturer Copyright Lund & Bendsen A/S

Gode praksisser og arkitekturer i Android-programmering. Android - praksisser og arkitekturer Copyright Lund & Bendsen A/S Gode praksisser og arkitekturer i Android-programmering 1 Om oplægsholderen Jacob Nordfalk nordfalk@lundogbendsen.dk Instruktør for Lund&Bendsen Ekstern lektor på IHK Underviser i Java SE, Java EE, Webserverprogrammering,

Læs mere

Partner session 2 Mamut - Temadag

Partner session 2 Mamut - Temadag Partner session 2 Mamut - Temadag 22. & 23. september 2009 Agenda Mamut Online Desktop 1.5 Gennemgang af nyheder i MOD 1.5 v/antonio Bibovski Hosted Services (NO HANDOUTS) Positionering af hostede services

Læs mere

14.1 Internationale programmer

14.1 Internationale programmer 14.1 Internationale programmer Når et program skal anvendes af flere kulturer og sprog opstår behov for at programtekster, beløb og datoangivelser afhænger af landet og sproget, og man må i gang med at

Læs mere

Introduktion til NemHandel

Introduktion til NemHandel NemHandel i skyen - holdt business casen? Heinrich Clausen HotHouse Cph og Helle Schade-Sørensen IT og Telestyrelsen Introduktion til NemHandel Løftestangen: Bekendtgørelsen fra 2005 om elektronisk regning

Læs mere

TDCs Signaturserver. 11/05 - Version 1.0 2005 TDC Erhverv Sikkerhed og certifikater

TDCs Signaturserver. 11/05 - Version 1.0 2005 TDC Erhverv Sikkerhed og certifikater TDCs Signaturserver Side 2 Indhold Indledning...3 Teknisk projekt... 3 Tekniske forudsætninger... 3 Installation af klienten... 4 Udstedelse af signatur... 4 Anvendelse af signaturen... 6 Eksport af signaturen...

Læs mere

Janich dk. Joomla Case sol.dk. Janich Rasmussen. Freelance Joomla! Professional. janich@gmail.com. Joomladay Danmark 2011

Janich dk. Joomla Case sol.dk. Janich Rasmussen. Freelance Joomla! Professional. janich@gmail.com. Joomladay Danmark 2011 Joomla Case sol.dk Janich Rasmussen Freelance Joomla! Professional Email: Twitter: Web: janich@gmail.com @janichdk janich.dk Joomladay Danmark 2011 Hvad er sol? Infrastruktur Tilført kompleksiteter siden

Læs mere

Everything-as-a-Service. Afdelingsdirektør, Poul Bærentsen

Everything-as-a-Service. Afdelingsdirektør, Poul Bærentsen Everything-as-a-Service Afdelingsdirektør, Poul Bærentsen Agenda Atea s rejse Hvorfor ændrer IT sig til services? as-a-service tilgangen Den fremtidige it-leverance Markedstrends Atea EaaS vi skaber overblikket

Læs mere

Subject to terms and conditions. WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR

Subject to terms and conditions. WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR ITSO SERVICE OFFICE Weeks for Sale 31/05/2015 m: +34 636 277 307 w: clublasanta-timeshare.com e: roger@clublasanta.com See colour key sheet news: rogercls.blogspot.com Subject to terms and conditions THURSDAY

Læs mere

FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø

FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø Høringssvar vedr. FESD GIS-integrationsmodel version 2.0 Geodata Danmark har

Læs mere

Microsoft Dynamics AX 360º Health Check

Microsoft Dynamics AX 360º Health Check Microsoft Dynamics AX 360º Health Check Præsentation oktober 2013 Henrik Nordvig & Allan Mik Bjørnsfort YouTube intro: http://www.youtube.com/watch?v=uiw6znimg5e Baggrundsinformation +5 mandårs investering

Læs mere

Google Maps og SAS/GRAPH software

Google Maps og SAS/GRAPH software Google Maps og SAS/GRAPH software Jens Dahl Mikkelsen, Business Advisor, Information Management Agenda Formål Introduktion til geografisk visning af data SAS/GRAPH software Google Maps, Google Earth Geokodning

Læs mere

TDC - Alcatel Network Analyzer. Baseret på materiale fra mødet i VULA-videreudvikling 11. april 2014

TDC - Alcatel Network Analyzer. Baseret på materiale fra mødet i VULA-videreudvikling 11. april 2014 TDC - Alcatel Network Analyzer Baseret på materiale fra mødet i VULA-videreudvikling 11. april 2014 1 TDCs anvendelse af Alcatels Network Analyzer TDC har startet samarbejdet med Alcatel og er i øjeblikket

Læs mere

Innovative Business Software A/S

Innovative Business Software A/S Innovative Business Software A/S Technical Note Klienter - Installation og opdatering 26. november 2014 ii MEDDELELSE OM OPHAVSRET Copyright 2014 Innovative Business Software A/S. Alle rettigheder forbeholdt.

Læs mere

Security & Risk Management Summit

Security & Risk Management Summit Security & Risk Management Summit Hvor og hvornår skaber Managed Security Services værdi? Business Development Manager Martin Jæger Søborg, 6. november 2014 DUBEX SECURITY & RISK MANAGEMENT SUMMIT 2014

Læs mere

Projekt 1 Database. Cphbusiness Lyngby Multimediedesigner, 3. semester mul-a12e, gruppe 1

Projekt 1 Database. Cphbusiness Lyngby Multimediedesigner, 3. semester mul-a12e, gruppe 1 Projekt 1 Database Cphbusiness Lyngby Multimediedesigner, 3. semester mul-a12e, gruppe 1 CREATE TABLE IF NOT EXISTS `3sempro1`.`cu `customer_id` INT(5) NOT NULL AUTO_INCR `name` VARCHAR(45) NULL DEFAULT

Læs mere

Smartair 6.0. Installations guide

Smartair 6.0. Installations guide Smartair 6.0 Installations guide Indholdsfortegnelse 1 Indledning... 4 2 System Oversigt... 4 3 Installation... 5 3.1 System Krav... 5 3.2 Klargøring af installationen... 5 3.3 Afinstallere tidligere TS1000

Læs mere

Start på Arduino og programmering

Start på Arduino og programmering Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget

Læs mere

Trifork Geek-Night. VMware anno 2010 Hvor virtuel kan det blive?!

Trifork Geek-Night. VMware anno 2010 Hvor virtuel kan det blive?! Trifork Geek-Night VMware anno 2010 Hvor virtuel kan det blive?! Rasmus Sjørslev Jensen, senior konsulent (VCP) Trifork Infrastructure Consulting (TIC) rsj@trifork.com 15 marts 2010 Agenda VMware Partner

Læs mere

Har det en værdi og hvordan kommer du i gang?

Har det en værdi og hvordan kommer du i gang? Virtualisering? Har det en værdi og hvordan kommer du i gang? Torben Vig Nelausen Produktchef Windows Server, Microsoft og Claus Petersen Senior Partner Technology Specialist, Microsoft Agenda Hvad er

Læs mere

Java-opgraderingskursus

Java-opgraderingskursus Java-opgraderingskursus Danmarks Meteorologiske Institut Gang 2 Webprogrammering Klient server og forespørgsel/svar HTML og HTML formularer Servletter og JSP sider Fælles biblioteker Programmere i pakker

Læs mere

EasyIQ ConnectAnywhere Release note

EasyIQ ConnectAnywhere Release note EasyIQ ConnectAnywhere Release note Version 2.4 Der er over det sidste år lavet en lang række forbedringer, tiltag og fejlrettelser. Ændringer til forudsætningerne: o Klienten skal ved førstegangs login

Læs mere

Hvor er mine runde hjørner?

Hvor er mine runde hjørner? Hvor er mine runde hjørner? Ofte møder vi fortvivlelse blandt kunder, når de ser deres nye flotte site i deres browser og indser, at det ser anderledes ud, i forhold til det design, de godkendte i starten

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

Begrænsninger i SQL. Databaser, efterår 2002. Troels Andreasen

Begrænsninger i SQL. Databaser, efterår 2002. Troels Andreasen Databaser, efterår 2002 Begrænsninger i SQL Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Læs mere

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering Skriftlig eksamen i Grundlæggende Programmering ITU, 20. januar 2000 Alle hjælpemidler tilladt, dog ikke datamat. Eksamen er skriftlig, fire timer, og bedømmes efter 13-skalaen. Opgavesættet består af

Læs mere

Forretningsmodeller for mobile applikationer

Forretningsmodeller for mobile applikationer Forretningsmodeller for mobile applikationer Indsigt og strategi Søren Kottal Eskildsen Alexandra Instituttet A/S Skabelon til forretningsmodel for mobile Click to edit Master title style applikationer

Læs mere

Installationsguide IBM Tivoli Storage Manager for Databases Data Protection for Microsoft SQL Server

Installationsguide IBM Tivoli Storage Manager for Databases Data Protection for Microsoft SQL Server Installationsguide IBM Tivoli Storage Manager for Databases Data Protection for Microsoft SQL Server Side 1 af 20 INSTALLATIONSGUIDE 1 1 FORORD 3 2 OPRET NODEN I NETGROUP PORTAL. 4 3 KLIENTSOFTWARE 5 3.1

Læs mere

Adgang til kundeportalen

Adgang til kundeportalen Til elleverandørerne Adgang til kundeportalen 3. april 2012 XSTJ/LRO Følgende dokument har til formål at orientere elleverandørerne om implementering og testning af den it-funktionalitet, som skal sikre

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Small Business Server 2008 SSL certifikat administration Følgende vejledning beskriver hvordan man installere et certifikat på en SBS 2008 server. Ved bestilling af certifikater til Small Business Server

Læs mere

Optimering af fraværsregistrering

Optimering af fraværsregistrering Journal Optimering af fraværsregistrering Eksamensprojekt i Programmering C, klasse 3.4, 2011 AFLEVERET 09-05-2014 Indhold Abstract... Fejl! Bogmærke er ikke defineret. Problemformulering... 2 Produktet...

Læs mere

Delfi Connect. Bruger vejledning 1. TILSLUTNING...2 2. INSTALLATION...3 3. MENUSTRUKTUR...4

Delfi Connect. Bruger vejledning 1. TILSLUTNING...2 2. INSTALLATION...3 3. MENUSTRUKTUR...4 Delfi Connect Bruger vejledning INDHOLD 1. TILSLUTNING...2 2. INSTALLATION...3 3. MENUSTRUKTUR...4 TOOLS...4 4. KOMMUNIKATIONS OPSÆTNING...5 5. GENEREL OPSÆTNING OG DATA KONFIGURATION...6 RECORD...8 BASAL

Læs mere

Outsource din hovedpine

Outsource din hovedpine Tema CLOUD Cloud Computing har i et par år efterhånden været på alles læber i it-verdenen. Og det er der god grund til. Kraftigt forbedret ydeevne kombineret med drastiske fald i priserne har for alvor

Læs mere

Om binære søgetræer i Java

Om binære søgetræer i Java Om binære søgetræer i Java Mads Rosendahl 7. november 2002 Resumé En fix måde at gemme data på er i en træstruktur. Måden er nyttig hvis man får noget data ind og man gerne vil have at det gemt i en sorteret

Læs mere

Sikkerhed i trådløst netværk

Sikkerhed i trådløst netværk Sikkerhed i trådløst netværk Når du opsætter et trådløst netværk betyder det at du kan benytte dit netværk uden at være forbundet med kabler, men det betyder også at andre kan gøre det samme, hvis du ikke

Læs mere

Data lagring. 2. iteration (implement backend)

Data lagring. 2. iteration (implement backend) Data lagring 2. iteration (implement backend) Emner Grundlæggende database begreber. Data definitionskommandoer ER-diagrammer og cardinalitet/relationer mellem tabeller Redundant data og Normalisering

Læs mere

Kom i gang med SAS STPbaserede

Kom i gang med SAS STPbaserede make connections share ideas be inspired Kom i gang med SAS STPbaserede webapplikationer Lars L. Andersson Chefkonsulent Webapplikationer Interaktion med serverbaserede data via skærmbilleder leveret gennem

Læs mere

Bilag 0. Terminologi og definitioner

Bilag 0. Terminologi og definitioner Bilag 0 Terminologi og definitioner Vejledning til tilbudsgiver i forbindelse med udarbejdelse af tilbud Dette bilag indeholder ingen krav eller mindstekrav, og skal ikke udfyldes ved Leverandørens afgivelse

Læs mere

APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR. EG Copyright

APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR. EG Copyright APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR EG Copyright Infrastruktur er mere end nogle servere... Den Mentale Infrastruktur Den Fysiske Infrastruktur Den Mentale Infrastruktur Vi vil jo gerne have vores

Læs mere

Objektorienterede metoder

Objektorienterede metoder Objektorienterede metoder Denne gang: Designmønstre Skabende designmønstre: Fabrikeringsmetode/Fabrik, Singleton, Abstrakt fabrik (Toolkit), Prototype, Objektpulje Singleton eksempel: Forskellige slags

Læs mere

XML webservice for pensionsordninger. Version 1.0 Draft A

XML webservice for pensionsordninger. Version 1.0 Draft A XML webservice for pensionsordninger Version 1.0 Draft A Dokumentoplysninger Titel: Projekt: Webservice for pensionsordninger EDI kontorets branchekoordinerede dataudveksling Forfatter: Bidragsydere til

Læs mere

Navision Stat 7.0. GIS Webservice og automatiseret filindlæsning via NST. Overblik. Side 1 af 9. ØSY/CRA/MAC Opr. 20.01.15

Navision Stat 7.0. GIS Webservice og automatiseret filindlæsning via NST. Overblik. Side 1 af 9. ØSY/CRA/MAC Opr. 20.01.15 Side 1 af 9 Navision Stat 7.0 ØSY/CRA/MAC Opr. 20.01.15 GIS Webservice og automatiseret filindlæsning via NST Overblik Introduktion Denne vejledning beskriver hvordan du: installerer Navision Application

Læs mere

Hurtigere time-to-market - SharePoint på Microsoft Azure. Christoffer Grønfeldt, PostNord

Hurtigere time-to-market - SharePoint på Microsoft Azure. Christoffer Grønfeldt, PostNord Hurtigere time-to-market - SharePoint på Microsoft Azure Christoffer Grønfeldt, PostNord Agenda Vejen til Azure I gang med Azure Erfaringer med Azure og gode råd Fremtiden og uløste områder Spørgsmål og

Læs mere

WT-1011RC Programmer User Guide

WT-1011RC Programmer User Guide WT-1011RC Programmer User Guide Firmware Version 1.9 Note: 1. Information in this manual is subject to change without notice and does not represent a commitment of manufacturer. 2. Manufacturer shall not

Læs mere

BrunataNet Converter HG + til HGQ / S / W / HGP-SIV

BrunataNet Converter HG + til HGQ / S / W / HGP-SIV BrunataNet Converter HG + til HGQ / S / W / HGP-SIV Monteringsvejledning Udgave.0 QB0.469 /8..009 Brunata a/s er et 00 % danskejet selskab. Vi har mere end 90 års erfaring med udvikling og fremstilling

Læs mere

General setup. Udvidet konfiguration. Rasmus Elmholt V1.0

General setup. Udvidet konfiguration. Rasmus Elmholt V1.0 General setup Udvidet konfiguration Rasmus Elmholt V1.0 Bruger håndtering Lokal bruger database Navne og password Password krav: Min. 6 karakter Min. 2 forskellige karakter klasser Hver konto har sin egen

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 3 Skabende designmønstre Skabende designmønstre: Fabrikeringsmetode/Fabrik, Singleton, Abstrakt fabrik (Toolkit), Prototype, Objektpulje Eksempel: Forskellige slags

Læs mere

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &. MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig

Læs mere

Programmering af CS7050 TCP/IP modul

Programmering af CS7050 TCP/IP modul Comfort CSx75 Programmering af CS7050 TCP/IP modul Introduktion CS7050 TCP-IP modulet er en fuldt integreret enhed, som tilbyder nye funktioner til Comfort seriens centraler i form af TCP/IP Ethernet forbindelse

Læs mere

Business Continuity og Cloud

Business Continuity og Cloud Business Continuity og Cloud af: Michael Christensen, Certified Business Continuity and IT-security Consultant, CISSP, CSSLP, CISM, CRISC, CCM, CPSA, ISTQB, PRINCE2, COBIT5 For rigtig mange danske virksomheder

Læs mere

Dell Cloud Client Computing Hvordan virtualisere vi de tunge grafisk applikationer?

Dell Cloud Client Computing Hvordan virtualisere vi de tunge grafisk applikationer? Dell Cloud Client Computing Hvordan virtualisere vi de tunge grafisk applikationer? Christian Eilskov Sales Engineer, christian_eilskov@dell.com +45 40 60 13 92 Dell Cloud Client Computing Dell lever produkter

Læs mere

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås:

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås: NOTAT 6. juni 2007 J.nr.: 331-3 LEA Bilag A danzig-møde 15.6.2007 Opdatering af DAN-1 og danzig Profile Specification Forslag til opdatering af Z39.50 specifikationerne efter udgivelse af Praksisregler

Læs mere

QUICK START Updated: 18. Febr. 2014

QUICK START Updated: 18. Febr. 2014 QUICK START Updated: 18. Febr. 2014 For at komme hurtigt og godt igang med dine nye Webstech produkter, anbefales at du downloader den senest opdaterede QuickStart fra vores hjemmeside: In order to get

Læs mere

10 informationer som gør din fejlrapport selvforklarende for både forretningen og programmørerne

10 informationer som gør din fejlrapport selvforklarende for både forretningen og programmørerne 10 informationer som gør din fejlrapport selvforklarende for både forretningen og programmørerne Introduktion Uanset hvor mange informationer man tilføjer en fejlrapport er det vigtigt, at man beslutter

Læs mere

Rapport generator til Microsoft C5

Rapport generator til Microsoft C5 Generelt Rapportgeneratoren til C5 kan benyttes sammen med alle versioner af C5 og kræver INGEN tillægsmoduler eller tilkøb af C5. Den kører på: C5 version 1.5x, 1.6x, 2.x, 3.x, 4.x, 2008, 2010 og 2012.

Læs mere

Hvad er cloud computing?

Hvad er cloud computing? Hvad er cloud computing? Carsten Jørgensen cjo@devoteam.dk Devoteam Consulting COPYRIGHT 11/05/2010 Architecture & Information Simplificering af it og effektiv it til forretningen Business Intelligence

Læs mere

Opsætning af MobilePBX med Kalenderdatabase

Opsætning af MobilePBX med Kalenderdatabase Opsætning af MobilePBX med Kalenderdatabase Dette dokument beskriver hvorledes der installeres Symprex Exchange Connector og SQL Server Express for at MobilePBX kan benytte kalenderadadgang via database

Læs mere

CASE: Royal Copenhagen

CASE: Royal Copenhagen When Your Website Goes Shopping CASE: Royal Copenhagen v/mads Gustafsen & Line Ghisler, Creuna Sitecoreseminar 6. februar 2008 CASE Royal Copenhagen præsenteret af Creuna Royal Copenhagen Kongelig Hofleverandør

Læs mere

Hvordan sikres investeringen i eksisterende systemer, når skyen tages i brug. Carsten Rasmussen, CTO, Capgemini Danmark A/S IDC Cloud Computing 2011

Hvordan sikres investeringen i eksisterende systemer, når skyen tages i brug. Carsten Rasmussen, CTO, Capgemini Danmark A/S IDC Cloud Computing 2011 Hvordan sikres investeringen i eksisterende systemer, når skyen tages i brug Carsten Rasmussen, CTO, Capgemini Danmark A/S IDC Cloud Computing 2011 Formål og agenda Formål Vi vil på denne workshop diskutere:

Læs mere

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004 Genbrugelige komponenter og designmønstre i Java Jacob Nordfalk Ingeniørhøjskolen i København Nykøbing F itvisioncenter 24. februar 2004 Program Om Jacob Nordfalk introduktion (ikke-teknisk del) Komponentbaseret

Læs mere

Objektorienteret design med arv og polymorfi:

Objektorienteret design med arv og polymorfi: Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Objektorienteret design med arv og polymorfi: Substitutionsprincippet Composite Design Pattern Finn Nordbjerg Side 1 Objektorienteret

Læs mere